LeetCode:贪心算法

目录

一、分发饼干

二、摆动序列

三、最大子数组和


一、分发饼干

455. 分发饼干 - 力扣(LeetCode)

java 复制代码
class Solution {
    public int findContentChildren(int[] g, int[] s) {
        Arrays.sort(s);
        Arrays.sort(g);
        int index=s.length-1;//饼干下标
        int result=0;//可满足的孩子数量
        for(int i=g.length-1;i>=0;i--){
            if(index>=0&&s[index]>=g[i]){//饼干的尺寸大于等于孩子的胃口
                result++;//满足的孩子+1
                index--;//下标左移
            }
        }
        return result;
    }
}

二、摆动序列

376. 摆动序列 - 力扣(LeetCode)

java 复制代码
class Solution {
    public int wiggleMaxLength(int[] nums) {
        if(nums.length<=1)return nums.length;
        int cur=0;
        int pre=0;
        int result=1;
        for(int i=0;i<nums.length-1;i++){
            cur=nums[i+1]-nums[i];
            if((cur>0&&pre<=0)||(cur<0&&pre>=0)){
                result++;
                pre=cur;
            }
        }
        return result;
    }
}

三、最大子数组和

53. 最大子数组和 - 力扣(LeetCode)

java 复制代码
class Solution {
    public int maxSubArray(int[] nums) {
        int result=Integer.MIN_VALUE;
        int count=0;
        for(int i=0;i<nums.length;i++){
            count+=nums[i];
            result=Math.max(count,result);
            if(count<=0)count=0;//相当于重置最大子序列起始位置,因为遇到负数一定是拉低总和
        }
        return result;
    }
}
相关推荐
lengxuenong10 小时前
潍坊一中第四届编程挑战赛(初赛)题解
算法
松涛和鸣10 小时前
25、数据结构:树与二叉树的概念、特性及递归实现
linux·开发语言·网络·数据结构·算法
Han.miracle10 小时前
数据结构--初始数据结构
算法·集合·大o表示法
List<String> error_P10 小时前
C语言联合体:内存共享的妙用
算法·联合体
little~钰11 小时前
可持久化线段树和标记永久化
算法
獭.獭.11 小时前
C++ -- 二叉搜索树
数据结构·c++·算法·二叉搜索树
TOYOAUTOMATON11 小时前
自动化工业夹爪
大数据·人工智能·算法·目标检测·机器人
im_AMBER11 小时前
Leetcode 67 长度为 K 子数组中的最大和 | 可获得的最大点数
数据结构·笔记·学习·算法·leetcode
feifeigo12312 小时前
MATLAB实现两组点云ICP配准
开发语言·算法·matlab
fengfuyao98512 小时前
粒子群算法(PSO)求解标准VRP问题的MATLAB实现
开发语言·算法·matlab