去掉整形數(shù)組重復(fù)的值

leetcode26
去掉整形數(shù)組中重復(fù)的值,給出[1,1,2]返回[1,2]的數(shù)組長度
思路:主要考察對(duì)object的使用,object的key值是唯一的。

var removeDuplicates = function(nums) {
    var hashTable={};
    var res=[];
    for(var i=0;i<nums.length;i++){
        if(!hashTable[nums[i]]){
                hashTable[nums[i]]=true;
                res.push(nums[i]);
        }
    }
    return res.length;
};

但是若只能在nums上做改變則不能使用上述這種方法。設(shè)置一個(gè)id,來記錄符合要求的數(shù)值。

function(nums){
    var id=1;
    for(var i=1;i<nums.length;i++){
        if(nums[i] != nums[i-1]){
            nums[id++]=nums[i]
        }
    }
    return id;
}

leetcode27
去掉定一個(gè)數(shù)組和一個(gè)值,刪除該值的所有實(shí)例,并返回新的長度
思路是同上的,但是一開始享用splice刪除,發(fā)現(xiàn)刪除后改變了數(shù)組的長度,這樣下一次循環(huán)就遍歷不到往前移的數(shù)了。

var removeElement = function(nums, val) {
    var id=0;
    for(var i=0;i<nums.length;i++){
        if(nums[i]!=val){
            //nums.splice(i,1);
            nums[id++]=nums[i];
        }
    } 
    return id;
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,663評(píng)論 0 4
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,890評(píng)論 0 33
  • Javascript有很多數(shù)組的方法,有的人有W3C的API,還可以去MDN上去找,但是我覺得API上說的不全,M...
    頑皮的雪狐七七閱讀 4,464評(píng)論 0 6
  • 人生如逆旅,我也是行人。少年已蹉跎,韶華難傾覆。
    涼皮君啊閱讀 177評(píng)論 0 1
  • 黑夜里的發(fā)光的眼睛其實(shí)不可怕。你會(huì)害怕一只貓嗎? 不知道丹鳳眼會(huì)不會(huì)提高“丹鳳朝陽”的概率…但是我知道有人的名字應(yīng)...
    抽象紳士閱讀 174評(píng)論 0 0

友情鏈接更多精彩內(nèi)容