贪心想不出来 ( 除了第一题 ) , 看答案又瞬间懂了 ,不是什么好兆头

455. 分发饼干

public int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        int biscuit = 0, hunger = 0;
        for (biscuit = 0; biscuit < s.length && hunger < g.length; biscuit++) {
            if (s[biscuit] >= g[hunger]) {
                hunger++;
            }
        }
        return hunger;
    }

376. 摆动序列

public int wiggleMaxLength(int[] nums) {
if (nums.length <= 1) {
            return nums.length;
        }

        int result = 1;
        int pre = 0, cur;
        for (int i = 1; i < nums.length; i++) {
            cur = nums[i] - nums[i - 1];
            if ((pre <= 0 && cur > 0) || (pre >= 0 && cur < 0)) {
                result++;
            }
            if (cur != 0) {
                pre = cur;
            }
        }
        return result;
    }

53. 最大子数组和

public int maxSubArray(int[] nums) {

      int result = Integer.MIN_VALUE;
        int count = 0;
        for (int num : nums) {
            count += num;
            result = Math.max(result, count);
            if (count < 0) {
                count = 0;
            }
        }
        return result;
    }
posted @ 2023-01-13 01:18  维萨斯  阅读(12)  评论(0)    收藏  举报