首页 > 解决方案 > 如何在运行嵌套的for循环javascript时最小化执行时间

问题描述

在 javascript 中运行嵌套循环时如何减少代码执行时间。我在下面解释我的示例代码,其中包含一些嵌套的 for 循环。

let arr1 = [1, -3, 2, 3, 6, -1];
let arr2 = [4, 8, 9, -4, 1, -1, -8, -9];
let arr3 = [6, 3, -1, -3, 4, -2, 2, 4, 6, -12, -7];

function countZeroSumSubArray(arr) {
  let sum = 0;
  let counter = 0;

  for (let i = 0; i < arr.length; i++) {
    sum = 0;
    for (let j = i; j < arr.length; j++) {
      sum += arr[j];
      if (!sum) {
        ++counter;
      }
    }

  }
  return counter
}

console.log('amount:', countZeroSumSubArray(arr1))
console.log('amount:', countZeroSumSubArray(arr2))
console.log('amount:', countZeroSumSubArray(arr3))

如果我给定的数组长度太长,我可能会遇到执行时间问题。我需要减少这些执行时间或实施一些其他方式,我可以减少执行时间并获得正确的输出。

标签: javascriptloops

解决方案


推荐阅读