455.分发饼干
455. 分发饼干
class Solution {
public int findContentChildren(int[] g, int[] s) {
Arrays.sort(g);
Arrays.sort(s);
int index=s.length-1;
int count=0;
for (int i=g.length-1;i>=0;i--)
{
if(index>=0&&s[index]>=g[i])
{
count++;index--;
}
}
return count;
}
}
376.摆动序列
376. 摆动序列
class Solution {
public int wiggleMaxLength(int[] nums) {
//一:上下坡中存在平坡
//二:数组首尾两端如何处理:默认序列最后一个有峰值
//三:单调坡中存在平坡
int res=1;//存放结果,默认序列最后一个有峰值
int prediff=0,curdiff=0;
//单个元素
if(nums.length==1) return 1;
//两个不同元素
else if(nums.length==2&&nums[0]!=nums[1]) return 2;
for(int i=0;i<nums.length-1;i++)
{
curdiff=nums[i+1]-nums[i];
if((prediff<=0&&curdiff>0)|| (prediff>=0&&curdiff<0))
{
res++;
prediff=curdiff;//只有当摆动变化时,更新prediff
}
}
return res;
}
}
53.最大子序和
53. 最大子数组和
class Solution {
public int maxSubArray(int[] nums) {
int count=0;
int max=Integer.MIN_VALUE;
for(int i=0;i<nums.length;i++)
{
count+=nums[i];
if(count>max) max=count;
if(count<0) count=0;//连续和小于0
}
return max;
}
}