代码随想录二刷day31

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣455. 分发饼干
  • 二、力扣376. 摆动序列
  • 三、力扣53. 最大子数组和


前言


一、力扣455. 分发饼干

class Solution {
    public int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        int count = 0;
        boolean[] flag = new boolean[g.length];
        boolean[] pp = new boolean[s.length];
        for(int i = 0; i < s.length; i ++){
            for(int j = 0; j < g.length; j ++){
                if(s[i] >= g[j] && !flag[j] && !pp[i]){
                    flag[j] = true;
                    pp[i] = true;
                    count ++;
                }
            }
        }
        return count;
    }
}
class Solution {
    public int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        int count = 0;
        for(int i = 0, j = 0; i< g.length && j < s.length; ){
            if(s[j] >= g[i]){
                count ++;
                i ++; j ++;
            }else{
                j ++;
            }
        }
        return count;
    }
}

二、力扣376. 摆动序列

class Solution {
    public int wiggleMaxLength(int[] nums) {
        if(nums.length <= 1){
            return nums.length;
        }
        int count = 1;
        int preDiff = 0, curDiff = 0;
        for(int i = 1; i < nums.length; i ++){
            curDiff = nums[i] - nums[i-1];
            if(curDiff > 0 && preDiff <= 0 || curDiff < 0 && preDiff >= 0){
                count ++;
                preDiff = curDiff;
            }
        }
        return count;
    }
}

三、力扣53. 最大子数组和

class Solution {
    public int maxSubArray(int[] nums) {
        int res = Integer.MIN_VALUE;
        int count = 0;
        for(int i = 0; i < nums.length; i ++){
            count += nums[i];
            if(count > res){
                res = count;
            }
            if(count < 0){
                count = 0;
            }
        }
        return res;
    }
}

你可能感兴趣的:(算法,排序算法,数据结构,leetcode,java)