我是靠谱客的博主 冷艳红酒,这篇文章主要介绍2021-12-09(JZ85 连续子数组的最大和(二)),现在分享给大家,希望可以做个参考。

import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param array int整型一维数组
* @return int整型一维数组
*/
public int[] FindGreatestSumOfSubArray (int[] array) {
int[] dp=new int[array.length];
dp[0]=array[0];
int maxLength=1,maxSum=array[0],left=0,right=0,sLeft=0,sRight=0;
for(int i=1;i<array.length;++i){
++right;
dp[i]=Math.max(array[i]+dp[i-1],array[i]);
if(array[i]+dp[i-1]<array[i])left=right;
if(dp[i]>maxSum||dp[i]==maxSum&&(right-left+1)>maxLength){
sLeft=left;
sRight=right;
maxLength=right-left+1;
maxSum=dp[i];
}
}
int[] res=new int[maxLength];
int idx=0;
for(int i=sLeft;i<=sRight;++i){
res[idx++]=array[i];
}
return res;
}
}

最后

以上就是冷艳红酒最近收集整理的关于2021-12-09(JZ85 连续子数组的最大和(二))的全部内容,更多相关2021-12-09(JZ85内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(164)

评论列表共有 0 条评论

立即
投稿
返回
顶部