前端编程题:已知一个包含n个数字的数组A,其中连续多个数字的和为sum,请找出该连续数字的初始索引start和结束索引end
2条回答 默认 最新
- @胡海龙 2022-02-15 15:40关注
const arr1 = [7,5,4,3,1,2,3,4,5,6,0] //测试1 const arr2 = [1,2,3,4,5,6,7,8,9,0] //测试2 const arr3 = [10] //测试3 const arr4 = [12,23,1,2,3,4,5,6,7] //测试4 const sum = 10 //测试5 function findIndex(arr,sum){ let tempSum = 0; let backIndex = 0; let endIndex = -1; let currentIndex = 0; for(currentIndex; currentIndex<arr.length; currentIndex++){ tempSum+=arr[currentIndex]; if(sum<tempSum){ backIndex += 1; currentIndex = backIndex; tempSum = 0; }else if(sum == tempSum){ endIndex = currentIndex; break; } } if(endIndex==-1){ console.log("没有找到") }else{ console.log("startIndex:",backIndex==0?0:backIndex+1); console.log("endIndex:",endIndex); } } //执行测试 findIndex(arr4,sum);
使用一次for循环,上述五种情况测试均正确,运行结果如下:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 PADS Logic 原理图
- ¥15 PADS Logic 图标
- ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
- ¥20 气象站点数据求取中~
- ¥15 如何获取APP内弹出的网址链接
- ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
- ¥50 STM32单片机传感器读取错误
- ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
- ¥15 机器人轨迹规划相关问题
- ¥15 word样式右侧翻页键消失