javascript - 如何在运行嵌套的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))
如果我给定的数组长度太长,我可能会遇到执行时间问题。我需要减少这些执行时间或实施一些其他方式,我可以减少执行时间并获得正确的输出。
解决方案
推荐阅读
- python - PyQt5 QObject+QGraphicsItem 多继承导致 QGraphicsItem.setFlags() 崩溃
- thymeleaf - 使用 Thymeleaf 创建相对链接
- python - 在我的工程计算中干燥时有多少是太多了?
- node.js - 为多个用户角色处理 RBAC
- javascript - 如何通过打字稿布尔字段传递条件运算符?
- java - 将 CustomList 转换为字符串/数组
- google-cloud-platform - BigQuery GetQuery 结果 API 给出重复条目
- shell - 我在 gnome manjaro 扩展的环境中有一个错误,有人可以帮助我吗?
- pytorch - 在pytorch中机器学习后如何计算给定图像的百分比?
- c# - 如何在.net 5中将outlook连接到c#