小编Moh*_*san的帖子

拆分数组以找到分布式环境中两个子数组之和之间的最小差异

昨天有人问我这个问题。我必须编写代码将数组分为两部分,以使这两部分之和之间的差异最小。

这是我写的复杂度为O(n)的代码

function solution(a) {
  let leftSum = 0;
  let rightSum = a.reduce((acc, value) => acc + value ,0);
  let min = Math.abs(rightSum - leftSum);
  a.forEach((item, i) => {
   leftSum += a[i];
   rightSum -= a[i]; 
   const tempMin = Math.abs(rightSum - leftSum);
   if(tempMin < min) min = tempMin;
  })
  return min;
}
Run Code Online (Sandbox Code Playgroud)

但是随后我被问到输入数组的长度是否为1000万,如何在分布式环境中解决此问题?

我是分布式编程的新手,在这方面需要帮助。

javascript algorithm distributed distributed-computing distributed-system

6
推荐指数
1
解决办法
144
查看次数