FCC(ES6寫法)Pairwise

舉個例子:有一個能力數組[7,9,11,13,15],按照最佳組合值爲20來計算,只有7+13和9+11兩種組合。而7在數組的索引爲0,13在數組的索引爲3,9在數組的索引爲1,11在數組的索引爲2。javascript

因此咱們說函數:pairwise([7,9,11,13,15],20) 的返回值應該是0+3+1+2的和,即6。java

 

思路:git

雙重循環後要置false防止重複配對,效率不高,有更高效的辦法請留言。github

 

let pairwise = (arr, arg) => {
  let arr2 = arr,count = 0;
  for(let i = 0;i < arr.length;i++){
    for(let j = i + 1;j < arr2.length;j++){
        if(arr[i] + arr2[j] === arg){
          count += i + j;
          arr[i] = "false";
          arr[j] = "false";
        }      
    }
  }
  return count;  
};
pairwise([1, 3, 2, 4], 4); 

  

若是有不明白的地方請留言,若是有更好更簡便更優化的方法請留言,謝謝。數組

 

更多內容請訪問個人我的博客: Bblogapp

相關文章
相關標籤/搜索