34 lines
957 B
Markdown
34 lines
957 B
Markdown
### 题目一
|
|
返回一个数组中,子数组最大累加和
|
|
|
|
每个数从左往右,依次求出每个数是否往左移动获取最大值,最后数组中最大值就是所求结果.
|
|
|
|
```java
|
|
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的达标数组
|