成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

找出數(shù)組 arr 中重復(fù)出現(xiàn)過的元素

BDEEFE / 3608人閱讀

摘要:輸入輸出方法二得到重復(fù)出現(xiàn)過的元素組成的數(shù)組數(shù)組去重一個(gè)新的臨時(shí)數(shù)組方法三如果元素過大的話,方法三不好,因?yàn)闀?huì)遍歷很多次。

function duplicates(arr) {
    var newarr = [];
    for(var j = 0;j < arr.length;j++){
        for(var i = j+1;i < arr.length;i++){
            if(arr[j] == arr[i]){
                newarr.push(arr[i]);
                
            }
        }
    } 
    //return [...new Set(newarr)];
    return Array.from(new Set(newarr));
}

輸入:
[1, 2, 4, 4, 3, 3, 1, 5, 3]
輸出
[1, 3, 4]

方法二:

function duplicates(arr) {
    //得到重復(fù)出現(xiàn)過的元素組成的數(shù)組   
    var newarr = [];
    for(var j = 0;j < arr.length;j++){
        if(arr.indexOf(arr[j]) != j){
            newarr.push(arr[j]);
        }
    } 
    //數(shù)組去重
    var temp = []; //一個(gè)新的臨時(shí)數(shù)組
    for(var i = 0; i < newarr.length; i++){
        if(temp.indexOf(newarr[i]) == -1){
            temp.push(newarr[i]);
        }
    }
    return temp;
}

方法三

https://www.nowcoder.com/questionTerminal/871a468deecf453589ea261835d6b78b
如果元素過大的話,方法三不好,因?yàn)闀?huì)遍歷很多次。而且如果原數(shù)組中的每一項(xiàng)不全是數(shù)值,得到關(guān)聯(lián)數(shù)組,那么對數(shù)組b的遍歷要做修改
function duplicates(arr) {
     //聲明兩個(gè)數(shù)組,a數(shù)組用來存放結(jié)果,b數(shù)組用來存放arr中每個(gè)元素的個(gè)數(shù)
     var a = [],b = [];
     //遍歷arr,如果以arr中元素為下標(biāo)的的b元素已存在,則該b元素加1,否則設(shè)置為1
     for(var i = 0; i < arr.length; i++){
         if(!b[arr[i]]){
             b[arr[i]] = 1;
             continue;
         }
         b[arr[i]]++;
     }
     //遍歷b數(shù)組,將其中元素值大于1的元素下標(biāo)存入a數(shù)組中
     for(var i = 0; i < b.length; i++){
         if(b[i] > 1){
             a.push(i);
         }
     }
     return a;
 }

方法四:

方法三改進(jìn)后
function duplicates(arr) {
 var obj = {};
    var repeatList = [];
    //遍歷數(shù)組,將數(shù)組的值作為obj的索引,出現(xiàn)次數(shù)為值
    arr.forEach(function(item){
        if(obj[item]){
            obj[item] +=1;
        }else{
            obj[item] = 1;
        }
    });
    //獲取對象自身屬性
    var propertyNames = Object.getOwnPropertyNames(obj);
    //遍歷對象,將重復(fù)出現(xiàn)的元素取出
    propertyNames.forEach(function(item){
        if(obj[item] > 1){
            repeatList.push(parseInt(item));
        }
    });
    return repeatList;  
}

方法五:

function duplicates(arr) {
 var result = [];
    arr.forEach(function(elem){
       if(arr.indexOf(elem) !=arr.lastIndexOf(elem) && result.indexOf(elem) == -1){
           result.push(elem);
       }
    });
    return result;
}

方法六

function duplicates(arr) {
    var a=arr.sort(),b=[];
    for(var i in a){
        if(a[i]==a[i-1] && b.indexOf(a[i])==-1) b.push(a[i]); 
    }
    return b;
}//先排序,如果后一個(gè)與前一個(gè)相等且未保存,則保存。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/105432.html

相關(guān)文章

  • 幾個(gè)讓我印象深刻的面試題(二)

    摘要:前言原文地址我的博客知乎知乎專欄簡書河南前端交流群官網(wǎng)上次寫了一篇幾個(gè)讓我印象深刻的面試題一沒看過的同學(xué)可以去看哦。第八題請寫出以下正則表達(dá)式的詳細(xì)規(guī)則說明嘿嘿,正則也算我比較拿手的部分。 前言 原文地址&&我的博客知乎&&知乎專欄簡書河南前端交流群官網(wǎng) 上次寫了一篇幾個(gè)讓我印象深刻的面試題(一)沒看過的同學(xué)可以去看哦。這次文章的題目來源:這里有超過20家的前端面試題,你確定不點(diǎn)進(jìn)來看...

    liaorio 評論0 收藏0
  • 幾個(gè)讓我印象深刻的面試題(二)

    摘要:前言原文地址我的博客知乎知乎專欄簡書河南前端交流群官網(wǎng)上次寫了一篇幾個(gè)讓我印象深刻的面試題一沒看過的同學(xué)可以去看哦。第八題請寫出以下正則表達(dá)式的詳細(xì)規(guī)則說明嘿嘿,正則也算我比較拿手的部分。 前言 原文地址&&我的博客知乎&&知乎專欄簡書河南前端交流群官網(wǎng) 上次寫了一篇幾個(gè)讓我印象深刻的面試題(一)沒看過的同學(xué)可以去看哦。這次文章的題目來源:這里有超過20家的前端面試題,你確定不點(diǎn)進(jìn)來看...

    Cobub 評論0 收藏0
  • TypeScript實(shí)現(xiàn)數(shù)組相關(guān)簡單算法

    摘要:本文只是簡單理解算法,并不會(huì)深入的討論。大部分來自數(shù)組部分。如果數(shù)組中每個(gè)元素都不相同,則返回。示例輸入輸出加給定一個(gè)由整數(shù)組成的非空數(shù)組所表示的非負(fù)整數(shù),在該數(shù)的基礎(chǔ)上加一。盡量減少操作次數(shù)。 算法(algorithm),在數(shù)學(xué)(算學(xué))和計(jì)算機(jī)科學(xué)之中,為任何良定義的具體計(jì)算步驟的一個(gè)序列,常用于計(jì)算、數(shù)據(jù)處理和自動(dòng)推理。精確而言,算法是一個(gè)表示為有限長列表的有效方法。算法應(yīng)包含清晰...

    cloud 評論0 收藏0
  • 常見大數(shù)據(jù)和空間面試題

    摘要:答案使用,申請一個(gè)長度為類型的,每個(gè)位置只表示或,該數(shù)組占用空間約。遍歷億個(gè)數(shù),當(dāng)前數(shù)為,落在區(qū)間,對應(yīng)。 過濾100億黑名單 題目 假設(shè)有100億個(gè)URL的黑名單,每個(gè)URL最多占用64B,設(shè)計(jì)一個(gè)過濾系統(tǒng),判斷某條URL是否在黑名單里。 要求 不高于萬分之一的判斷失誤率;額外內(nèi)存不超過30GB 答案 100億個(gè)64B的URL需要640GB的內(nèi)存,顯然直接存哈希表不合理。考慮布隆過濾...

    Hydrogen 評論0 收藏0
  • 學(xué)習(xí)筆記: JS數(shù)組

    摘要:數(shù)組元素甚至可以是對象或其它數(shù)組。它執(zhí)行的是淺拷貝,這意味著如果數(shù)組元素是對象,兩個(gè)數(shù)組都指向相同的對象,對新數(shù)組中的對象修改,會(huì)在舊的數(shù)組的相同對象中反應(yīng)出來。 JS中的數(shù)組是弱類型的,數(shù)組中可以含有不同類型的元素。數(shù)組元素甚至可以是對象或其它數(shù)組。JS引擎一般會(huì)優(yōu)化數(shù)組,按索引訪問數(shù)組常常比訪問一般對象屬性明顯迅速。數(shù)組長度范圍 from 0 to 4,294,967,295(2^...

    archieyang 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<