js实现求连续子数组的最大和并输出下标

来源:互联网 发布:法军 知乎 编辑:程序博客网 时间:2024/05/18 02:41
<script>//采用动态规划法function findGreatestSun(arr){var curSum, greatestSum;curSum = greatestSum = 0;var start, end;start = end = 0;//数组中正负数都有for(var i = 0;i<arr.length;i++){curSum+= arr[i];if(curSum < 0){curSum = 0;start++;}if(curSum > greatestSum){greatestSum = curSum;end = i;}}//若数组中只有非正数,则找到最大的值即为最大和if(greatestSum == 0){start = end = 0;for(var i = 1;i<arr.length;i++){greatestSum = arr[0];if(greatestSum < arr[i]){greatestSum = arr[i];start = end = i;}}}alert("sum:"+greatestSum +"--start:"+start+"--end:"+end);}var arr_a = [1, -2, 3, 10, -4, 7, 2, -5]findGreatestSun(arr_a);</script>


原创粉丝点击