子数组的最大平均值
public static double findMaxAverage(int[] nums, int k) {
int len = nums.length;
int widowSum = 0;
if (k > nums.length || nums.length < 1 || k < 1) {
return 0;
}
for (int i = 0; i < k; i++) {
widowSum += nums[i];
}
int res = widowSum;
for (int i = k; i < len; i++) {
widowSum += nums[i];
widowSum -= nums[i - k];
res = Math.max(res, widowSum);
}
return (double) res / k;
}
最长连续递增序列
public static int findLengthOfLCIS_2(int[] nums) {
int curLen = 1;
int res = 1;
for (int i = 1; i < nums.length; i++) {
if (nums[i - 1] >= nums[i]) {
curLen = 1;
} else {
curLen++;
}
res = Math.max(curLen, res);
}
return res;
}
public static int findLengthOfLCIS_3(int[] nums) {
int n = nums.length;
int[] dp = new int[n];
Arrays.fill(dp, 1);
int res = 1;
for (int i = 1; i < n; i++) {
if (nums[i] > nums[i - 1]) {
dp[i] = dp[i - 1] + 1;
}
res = Math.max(res, dp[i]);
}
return res;
}