455.分发饼干
class Solution {
public int findContentChildren(int[] g, int[] s) {
Arrays.sort(g);
Arrays.sort(s);
int res = 0;
int index1 = 0;
int index2 = 0;
while(index1< g.length && index2<s.length){
if(g[index1]<=s[index2]){
res++;
index1++;
index2++;
}else{
index2++;
}
}
return res;
}
}
376. 摆动序列
class Solution {
public int wiggleMaxLength(int[] nums) {
int n = nums.length;
if(n<2){
return n;
}
int[] up = new int[n];
int[] down = new int[n];
up[0] = 1;
down[0] = 1;
for(int i =1;i<n;i++){
if(nums[i]>nums[i-1]){
up[i] = Math.max(up[i-1],down[i-1]+1);
down[i] = down[i-1];
}else if(nums[i] < nums[i-1]){
up[i] = up[i-1];
down[i] = Math.max(up[i-1]+1,down[i-1]);
}else{
up[i] = up[i-1];
down[i] = down[i-1];
}
}
return Math.max(up[n-1],down[n-1]);
}
}
53. 最大子序和
class Solution {
public int maxSubArray(int[] nums) {
int[] temp = new int[nums.length];
temp[0] = nums[0];
int max = temp[0];
for(int i = 1;i<nums.length;i++){
temp[i] = Math.max(nums[i],temp[i-1]+nums[i]);
if(temp[i]>max){
max = temp[i];
}
}
return max;
}
}