FCC(ES6写法)Pairwise

Posted blackchaos

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FCC(ES6写法)Pairwise相关的知识,希望对你有一定的参考价值。

举个例子:有一个能力数组[7,9,11,13,15],按照最佳组合值为20来计算,只有7+13和9+11两种组合。而7在数组的索引为0,13在数组的索引为3,9在数组的索引为1,11在数组的索引为2。

所以我们说函数:pairwise([7,9,11,13,15],20) 的返回值应该是0+3+1+2的和,即6。

 

思路:

双重循环后要置false防止重复配对,效率不高,有更高效的办法请留言。

 

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); 

  

如果有不明白的地方请留言,如果有更好更简便更优化的方法请留言,谢谢。

 

更多内容请访问我的个人博客: Bblog

以上是关于FCC(ES6写法)Pairwise的主要内容,如果未能解决你的问题,请参考以下文章

FCC(ES6写法) Exact Change

js-FCC算法-Pairwise

es6的一些简洁写法(代码优化)

FCC Advanced Algorithm Scripting

es6写法

webstorm添加*.vue文件代码提醒支持webstorm支持es6vue里支持es6写法