第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

比較數(shù)組中的值,如果任何值匹配,則增加第一個(gè)數(shù)組中的值

比較數(shù)組中的值,如果任何值匹配,則增加第一個(gè)數(shù)組中的值

德瑪西亞99 2022-10-21 09:41:44
我有這段代碼來(lái)檢查兩個(gè)數(shù)組是否有任何匹配的值,如果有任何值匹配我 ++ array1 中的所有內(nèi)容我想知道是否有更好的方法來(lái)做到這一點(diǎn),因?yàn)槲矣X(jué)得這是很多循環(huán),我最終會(huì)有 5 個(gè)數(shù)組需要相互比較任何幫助將不勝感激!const array1 = [2, 9];const array2 = [2, 5, 9];function checkMatch(a, b) {  for (let i = 0; i < a.length; i++) {    for (let e = 0; e < b.length; e++) {      if (a[i] === b[e]) a[i]++;    }  }  return a;}console.log(checkMatch(array1, array2))
查看完整描述

4 回答

?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以使用 aSet并將第一個(gè)數(shù)組映射到該值以及對(duì)該集合的該值的檢查。


function checkMatch(a, b) {

    var values = new Set(b);

    return a.map(v => v + values.has(v));

}


console.log(checkMatch([2, 9], [2, 5, 9]));


查看完整回答
反對(duì) 回復(fù) 2022-10-21
?
千萬(wàn)里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊

你可以簡(jiǎn)單地利用map這里:


var array1 = [2, 9];

var array2 = [2, 5, 9];


var result = array1.map(n=>(array2.includes(n) ? n++ : n, n));


console.log(result);


查看完整回答
反對(duì) 回復(fù) 2022-10-21
?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以使用includes方法檢查列表 (a) 的所有元素是否存在于您需要比較的所有其他數(shù)組中。然后您可以更新列表(a)中的值


function checkMatch(a, b){

    for (let i = 0; i < a.length; i++) {

        if(b.includes(a[i])){

            a[i]++;

        }

    }

  return a;

};


const array1 = [2, 9];

const array2 = [2, 5, 9];


console.log(checkMatch(array1, array2))


查看完整回答
反對(duì) 回復(fù) 2022-10-21
?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊

如果您知道所有數(shù)組都已排序,那么您可以使用以下方法 -


代碼 -

const array1 = [2, 9];


const array2 = [2, 5, 9];


function checkMatch(a, b) {

  let i = 0,

    j = 0;

  while (i < a.length && j < b.length) {

    if (a[i] === b[j]) {

      a[i]++;

      j++;

    } else if (a[i] < b[j]) {

      i++;

    } else j++;

  }

  return a;

}


console.log(checkMatch(array1, array2))

解釋 -

上述方法的時(shí)間復(fù)雜度為 ,O(N+M)而您的時(shí)間復(fù)雜度可能為O(N*M).

在上述函數(shù)中,您利用了數(shù)組已排序這一事實(shí)。因此,當(dāng) 時(shí)a[i] < b[j],您知道必須增加索引 i 才能獲得可能等于或大于 的值b[j]。當(dāng) 時(shí),情況相同(但相反)a[i] > b[j]。因此,這種方法降低了代碼的整體時(shí)間復(fù)雜度,并提高了整體效率。

希望這可以幫助!


查看完整回答
反對(duì) 回復(fù) 2022-10-21
  • 4 回答
  • 0 關(guān)注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)