957 B
957 B
题目一
返回一个数组中,子数组最大累加和
每个数从左往右,依次求出每个数是否往左移动获取最大值,最后数组中最大值就是所求结果.
public class MaxSubArr {
public int maxSubArray(int[] nums) {
if (nums==null||nums.length==0){
return 0;
}
int pre = nums[0];
// 记录最大值,中间有些可能会忽略10,-10,5
int max = nums[0];
for (int i=1;i<nums.length;i++){
pre = Math.max(pre + nums[i], nums[i]);
max=Math.max(pre,max);
}
return max;
}
}
题目三
返回二维数组中,子矩阵最大累加和
题目四
返回一个数组中,选择的数字不能相邻的情况下,最大子序列累加和
题目六
生成长度为size的达标数组,什么叫达标 达标:对于任意的i<k<j,满足[i]+[j]!=[k]*2 给定一个正数size,返回长度为size的达标数组