贪心1

  1. 分发饼干
class Solution {
    public int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        int m = g.length, n = s.length;
        int count = 0;
        for (int i = 0, j = 0; i < m && j < n; i++, j++) {
            while (j < n && g[i] > s[j]) {
                j++;
            }
            if (j < n) {
                count++;
            }
        }
        return count;
    }
}

  1. 摆动序列
class Solution {
public:
    int wiggleMaxLength(vector<int>& nums) {
        if(nums.size() == 1) return 1;
        int predif = 0, curdif = 0;
        int result = 1;
        for(int i = 0; i < nums.size() - 1; i++)
        {
            curdif = nums[i + 1] - nums[i];
            if((predif >= 0 && curdif < 0) || (predif <= 0 && curdif > 0))
            {
                result++;
                predif = curdif;
            }
            
        }
        return result;
    }
};
  1. 最大子数组和
class Solution {
public:
    
    int maxSubArray(vector<int>& nums) {
        vector<int> dp(nums.size());
        dp[0] = nums[0];
        int result = dp[0];
        for(int i = 1; i < nums.size(); i++)
        {
            dp[i] = max(dp[i - 1] + nums[i], nums[i]);
            if(dp[i] > result)
                result = dp[i];
        }
        return result;
    }
};
posted @ 2025-02-13 19:39  skyler886  阅读(16)  评论(0)    收藏  举报