代码随想录 Day26贪心算法01-上

news2024/11/20 14:31:35

目录

前言:贪心无套路

本质:

两个极端

 贪心的小例子

贪心无套路!!!

LeetCode T455 分发饼干

题目思路:

1.优先考虑胃口:大饼干喂饱大胃口

2.优先考虑饼干:小饼干先喂饱小胃口


前言:贪心无套路

本质:

局部最优去推导全局最优

两个极端

贪心算法的难度一般要么特别简单,要么特别困难,所以我们只能多见识多做题,记住无需数学证明,因为两道贪心基本上毫无关系,我们只需要去思考局部最优即可

 贪心的小例子

比如有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿?

那肯定是每次拿最大的就行,局部最优就是每次拿最大数额的钞票,全局最优就是最后数额的总和是最大的.

贪心无套路!!!

这里贪心没有任何的模板总结,因为解决不同问题的贪心策略是完全不同的,我们不需要严格的数学证明,如果面对一道题你有这么一种贪心的策略,同时你找不到任何明显的反例,那么就可以照着这个思路来思考问题... 

LeetCode T455 分发饼干

题目链接:455. 分发饼干 - 力扣(LeetCode)

题目思路:

这题我们有两种思路可以解决问题

1.优先考虑胃口:大饼干喂饱大胃口

这里的局部最优就是充分利用大饼干来喂饱小孩,全局最优就是喂饱尽可能多的小孩

(尽可能让吃饱的人多)

2.优先考虑饼干:小饼干先喂饱小胃口

这里的局部最优是花费掉最小的饼干,让小饼干物尽其用,全局最优是使饼干的花费更有性价比.

(尽可能让饼干发挥最大的效果)

题目代码

//解法一:
class Solution {
    int count = 0;
    int start = 0;
    public int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);

        for(int i = 0;i<s.length && start<g.length;i++)
        {
            if(s[i]>=g[start])
            {
                start++;
                count++;
            }
        }
        return count;

    }
}

//解法2
class Solution {
    int count = 0;
    int start ;
    public int findContentChildren(int[] g, int[] s) {
        start = s.length-1;
        Arrays.sort(g);
        Arrays.sort(s);

        for(int i = g.length-1;i>=0;i--)
        {
            if(start >= 0 && s[start]>=g[i])
            {
                start--;
                count++;
            }
        }
        return count;

    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1124200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新增用户登录和资产登录通知功能,支持指定目录运行作业中心命令,JumpServer堡垒机v3.8.0发布

2023年10月23日&#xff0c;JumpServer开源堡垒机正式发布v3.8.0版本。在这一版本中&#xff0c;JumpServer在“用户登录”和“资产登录”这两个权限控制功能中&#xff0c;新增“通知”动作。目前其支持的动作包括拒绝、接受、审批以及通知四种动作&#xff0c;方便了管理员针…

栩栩如生,音色克隆,Bert-vits2文字转语音打造鬼畜视频实践(Python3.10)

诸公可知目前最牛逼的TTS免费开源项目是哪一个&#xff1f;没错&#xff0c;是Bert-vits2&#xff0c;没有之一。它是在本来已经极其强大的Vits项目中融入了Bert大模型&#xff0c;基本上解决了VITS的语气韵律问题&#xff0c;在效果非常出色的情况下训练的成本开销普通人也完全…

Qt音乐播放器

简介 使用QMediaPlayer和QMediaPlaylist制作的音乐播放器 编译环境 Qt5.6 MGW32 windows10 功能特性 GUI 功能 加载mp3文件&#xff0c;得到歌曲信息&#xff1b;打开文件夹加载或拖拽音乐文件加载滑动条关联播放进度、音量显示/隐藏歌曲列表&#xff0c;编辑歌曲列表&am…

【Proteus仿真】【STM32单片机】自动饲养控制系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器&#xff0c;使用LCD1604显示模块、红外传感器、有害气体检测模块、PCF8591 ADC模块&#xff0c;蜂鸣器、DHT11温湿度、SG90舵机、风扇加热加湿等。 主要功能&a…

java--关系运算符

1.关系运算符 1.判断数据是否满足条件&#xff0c;最终返回一个判断的结果&#xff0c;这个结果是布尔类型的值&#xff1a;true或者false。 注意&#xff1a;在java中判断两个变量内容是否相等一定是""&#xff0c;千万不要把""误写成""或&quo…

性能与效果平衡:选择适合项目的直播实时美颜SDK

当下&#xff0c;越来越多的主播和内容创作者依赖于实时美颜技术&#xff0c;以确保他们在镜头前始终保持最佳状态。为了实现这一目标&#xff0c;许多开发者和团队开始探索主播直播美颜SDK&#xff0c;但在选择适合项目的SDK时&#xff0c;性能与效果的平衡变得尤为重要。 本…

阿里巴巴1688/京东/淘宝天猫API接口

获取key和secret API接口分享信息如下&#xff1a; item_get - 获得商品详情 item_search - 按关键字搜索商品 item_review-获得商品评论 item_search_img - 按图搜索商品&#xff08;拍立淘&#xff09; item_search_suggest - 获得搜索词推荐 item_fee - 获得商品快递…

vue3项目使用TypeIt打字机

官网: TypeIt | The most versatile JavaScript typewriter effect library on the planet. 下载: npm i typeit 使用方法: 正常打字 多行打字机 input输入框实现打字机效果 打字机颜色变化 删除,光标移动,最全面的打字机效果 官网最下面还可以输入你想有的打字效果,然后生…

文本批量处理,高效便捷的管理利器!

您是否曾经为了批量处理文本数据而烦恼&#xff1f;冗长的文本文件&#xff0c;繁琐的处理步骤&#xff0c;让您的工作变得异常困难。现在&#xff0c;我们向您推荐一款文本批量处理工具&#xff0c;它能够快速、准确地处理大量文本数据&#xff0c;让您的管理工作更加高效便捷…

基于springboot+vue网上图书商城54

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

RT-Thread 中断管理(学习)

中断是一种异常&#xff0c;异常是导致处理器脱离正常运行转向执行特殊代码的任何事件&#xff0c;如果不及时进行处理&#xff0c;轻则系统出错&#xff0c;重则会导致系统毁灭性地瘫痪。所以正确地处理异常&#xff0c;避免错误的发生是提高软件鲁棒性&#xff08;稳定性&…

cropper+jq(图片裁剪上传)

<link rel"stylesheet" href"../../cropper/cropper.css"> <script type"text/javascript" src"../../cropper/cropper.js"></script> 没有引入jquery的原因 引入jquery <script src"../jquery-1.10.2.js…

SAP 公司间销售

一、 概述 很多项目中&#xff0c;特别是集团型公司&#xff0c;生产总部在某地&#xff0c;但是在各个省会城市&#xff0c;乃至国外都有相应的贸易公司&#xff0c;特别是国外&#xff0c;此时贸易公司接到客户采购订单&#xff0c;但是贸易公司没有库存&#xff0c;甚至没有…

企业/公司 | 设计行业,图档图纸加密、防泄密软件系统

天锐绿盾加密防泄密软件是一种专业的企业数据防泄密软件系统&#xff0c;旨在保护企业核心文件、文档、源代码、图纸文件等数据安全。它基于天锐绿盾安全防护系统&#xff0c;集文件加密、行为监控、权限控制于一体&#xff0c;能够有效地防止企业内部和外部的数据泄露。 PC访问…

RPA平台比较和选择指南

随着企业数字化转型进程的加速&#xff0c;自动化和人工智能技术在各个领域得到了广泛应用。其中&#xff0c;RPA作为一种帮助企业构建高效自动化工作流程的技术&#xff0c;已经在许多企业取得了显著的成果。然而&#xff0c;市场上的RPA平台众多&#xff0c;如何选择一个适合…

H指数----题解报告

题目&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 由题目可知&#xff0c;我们要寻找的是一个最大的H值。 首先先对引用次数排序&#xff0c;然后再寻找在规定内的最大H值 public int hIndex(int[] citations) {Arrays.sort(citatio…

PHP 在线考试管理系统mysql数据库web结构layUI布局apache计算机软件工程网页wamp

一、源码特点 PHP 在线考试管理系统是一套完善的web设计系统 layUI技术布局 &#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 PHP 在线考试系统1 代码 https://download.csdn.net/download/qq_41…

MQTT协议简介及其应用

一、简介 MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输&#xff09;是一种基于发布/订阅模式的“轻量级”通讯协议&#xff0c;该协议构建于TCP/IP协议上&#xff0c;由IBM在1999年开发。MQTT最大的优点在于&#xff0c;能够以极低的带宽…

IP代理是什么?有什么好处?

IP说简单不简单&#xff0c;说复杂也不复杂&#xff0c;打个比方&#xff0c;IP就好比我们上网的一个门牌号&#xff0c;每家每户都会有一个门牌号&#xff0c;而且是唯一的地址。而代理IP&#xff08;代理服务器&#xff09;是一个位于中间的服务器&#xff0c;充当客户端和目…

手动导入jar包,pom还是爆红是什么情况

阿里云依赖仓库没有需要的依赖&#xff0c;所以去中央仓库下载&#xff0c; 手动安装jar包&#xff0c;pom还是爆红&#xff0c;可能的原因是你没有配置本地仓库路径 由于没有指定本地仓库路径&#xff0c;所以它默认把依赖安装在该目录下 而我idea的依赖仓库是 所以pom的依赖…