代码随想录-算法训练营day31(贪心算法01:分发饼干,摆动序列,最大子数组和)

第八章 贪心算法 part01● 理论基础 
● 455.分发饼干 
● 376. 摆动序列 
● 53. 最大子序和 贪心算法其实就是没有什么规律可言,所以大家了解贪心算法 就了解它没有规律的本质就够了。 不用花心思去研究其规律, 没有思路就立刻看题解。基本贪心的题目 有两个极端,要不就是特简单,要不就是死活想不出来。  学完贪心之后再去看动态规划,就会了解贪心和动规的区别。详细布置 理论基础 https://programmercarl.com/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html  455.分发饼干  https://programmercarl.com/0455.%E5%88%86%E5%8F%91%E9%A5%BC%E5%B9%B2.html  376. 摆动序列  https://programmercarl.com/0376.%E6%91%86%E5%8A%A8%E5%BA%8F%E5%88%97.html  53. 最大子序和  https://programmercarl.com/0053.%E6%9C%80%E5%A4%A7%E5%AD%90%E5%BA%8F%E5%92%8C.html  往日任务
● day 1 任务以及具体安排:https://docs.qq.com/doc/DUG9UR2ZUc3BjRUdY  
● day 2 任务以及具体安排:https://docs.qq.com/doc/DUGRwWXNOVEpyaVpG  
● day 3 任务以及具体安排:https://docs.qq.com/doc/DUGdqYWNYeGhlaVR6 
● day 4 任务以及具体安排:https://docs.qq.com/doc/DUFNjYUxYRHRVWklp 
● day 5 周日休息
● day 6 任务以及具体安排:https://docs.qq.com/doc/DUEtFSGdreWRuR2p4 
● day 7 任务以及具体安排:https://docs.qq.com/doc/DUElCb1NyTVpXa0Jj 
● day 8 任务以及具体安排:https://docs.qq.com/doc/DUGdsY2JFaFhDRVZH 
● day 9 任务以及具体安排:https://docs.qq.com/doc/DUHVXSnZNaXpVUHN4 
● day 10 任务以及具体安排:https://docs.qq.com/doc/DUElqeHh3cndDbW1Q 
●day 11 任务以及具体安排:https://docs.qq.com/doc/DUHh6UE5hUUZOZUd0 
●day 12 周日休息 
●day 13 任务以及具体安排:https://docs.qq.com/doc/DUHNpa3F4b2dMUWJ3 
●day 14 任务以及具体安排:https://docs.qq.com/doc/DUHRtdXZZSWFkeGdE 
●day 15 任务以及具体安排:https://docs.qq.com/doc/DUHN0ZVJuRmVYeWNv 
●day 16 任务以及具体安排:https://docs.qq.com/doc/DUHBQRm1aSWR4T2NK 
●day 17 任务以及具体安排:https://docs.qq.com/doc/DUFpXY3hBZkpabWFY 
●day 18 任务以及具体安排:https://docs.qq.com/doc/DUFFiVHl3YVlReVlr 
●day 19 周日休息
●day 20 任务以及具体安排:https://docs.qq.com/doc/DUGFRU2V6Z1F4alBH  
●day 21 任务以及具体安排:https://docs.qq.com/doc/DUHl2SGNvZmxqZm1X 
●day 22 任务以及具体安排:https://docs.qq.com/doc/DUHplVUp5YnN1bnBL  
●day 23 任务以及具体安排:https://docs.qq.com/doc/DUFBUQmxpQU1pa29C 
●day 24 任务以及具体安排:https://docs.qq.com/doc/DUEhsb0pUUm1WT2NP  
●day 25 任务以及具体安排:https://docs.qq.com/doc/DUExTYXVzU1BiU2Zl 
●day 26 休息 
●day 27 任务以及具体安排:https://docs.qq.com/doc/DUElpbnNUR3hIbXlY 
●day 28 任务以及具体安排:https://docs.qq.com/doc/DUG1yVHdlWEdNYlhZ  
●day 29 任务以及具体安排:https://docs.qq.com/doc/DUHZYbWhwSHRCRmp3 
●day 30 任务以及具体安排:https://docs.qq.com/doc/DUEdTVVhxbnJiY3BR

day31

分发饼干

 //优先满足大胃口class Solution {public int findContentChildren(int[] g, int[] s) {//贪心无套路,也不用严格证明,局部最优能推出全局最优即可//大饼干尽量满足胃口大的孩子//或者尽量用小饼干去满足一个小孩Arrays.sort(g);//记得排序Arrays.sort(s);int sindex = s.length - 1;int result = 0;for(int i = g.length - 1; i>=0;i--){//遍历大胃口,有限考虑大胃口if( sindex >= 0 && s[sindex] >= g[i]){result++;sindex--;}}return result;}}//优先利用小饼干class Solution {public int findContentChildren(int[] g, int[] s) {//贪心无套路,也不用严格证明,局部最优能推出全局最优即可//大饼干尽量满足胃口大的孩子//或者尽量用小饼干去满足一个小孩Arrays.sort(g);//记得排序Arrays.sort(s);int result = 0;int gstart = 0;for(int i = 0; i < s.length ; i++){//遍历小饼干,尽量去满足一个小孩if( gstart <= g.length - 1 && s[i] >= g[gstart] ){result++;gstart++;}}return result;}}

摆动序列

 class Solution {public int wiggleMaxLength(int[] nums) {//双指针记录坡度变化int pre = 0;int last = 0;int result = 1;//默认最后有一个坡for( int i = 0; i < nums.length - 1; i++ ){//不用判断最后一个last = nums[i + 1] - nums[i];if( pre >= 0 && last < 0  || pre <= 0 && last > 0){result++;pre = last;//只在坡度方向有变化的时候才更改}}return result;}}

最大子数组和

 class Solution {public int maxSubArray(int[] nums) {//连续和为负数直接抛弃int sum = 0;int result = nums[0];for( int i = 0; i < nums.length; i++){sum += nums[i];if( sum > result) result = sum;if( sum < 0) sum = 0;//不如重新开始}return result;}}

感谢大佬分享:

代码随想录-算法训练营day31【贪心算法01:理论基础、分发饼干、摆动序列、最大子序和】-CSDN博客

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

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

相关文章

JVM 参数前缀 -XX: 含义 详解

在 Java 虚拟机&#xff08;JVM&#xff09;中&#xff0c;参数前缀 -XX: 表示的是 JVM 的非标准&#xff08;实验性&#xff09;选项。这些参数用于调整和优化 JVM 的性能、垃圾回收行为、内存分配策略等。 1. 参数分类 -XX: 参数大致分为三类&#xff0c;根据其格式区分&…

有趣的Docker

&#x1f449;【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中 1. Docker 上的“全世界”命令行 你可以在 Docker 容器中运行一个模拟的 “世界地图”&#xff0c;并通过命令行与它互动。这是一个非常有趣的项目&#xff0c;结合了命令行和图形界面的交互。…

win11无法检测到其他显示器-NVIDIA

https://www.nvidia.cn/software/nvidia-app/ https://cn.download.nvidia.cn/nvapp/client/11.0.1.163/NVIDIA_app_v11.0.1.163.exe 下载安装后&#xff0c;检测驱动、更新驱动。

(数据结构与算法)如何提高学习算法的效率?面试算法重点有哪些?面试需要哪些能力?

面试官眼中的求职者 通过对你算法的考察&#xff01;&#xff01;&#xff01;&#xff01; 缩进太多&#xff01;&#xff01;一般不要超过三层&#xff01;&#xff01;&#xff01;缩进越少&#xff0c;bug越少&#xff1b;逻辑比较复杂&#xff0c;把这些包装成为函数&…

Applied Intelligence投稿

一、关于手稿格式&#xff1a; 1、该期刊是一个二区的&#xff0c;模板使用Springer nature格式&#xff0c; 期刊投稿要求&#xff0c;详细期刊投稿指南&#xff0c;大部分按Soringernature模板即可&#xff0c;图片表格声明参考文献命名要求需注意。 2、参考文献&#xff…

洛谷 P1150:Peter 的烟 ← while循环

【题目来源】https://www.luogu.com.cn/problem/P1150【题目描述】 Peter 有 n 根烟&#xff0c;他每吸完一根烟就把烟蒂保存起来&#xff0c;k&#xff08;k>1&#xff09;个烟蒂可以换一个新的烟&#xff0c;那么 Peter 最终能吸到多少根烟呢&#xff1f; 与某些脑筋急转弯…

【学习总结|DAY010】Java 流程控制与数据操作练习四:简易计算器

在这段 Java 代码中&#xff0c;我将解析一段简单的 Java 计算器代码&#xff0c;它能够执行基本的数学运算&#xff0c;包括加法、减法、乘法和除法。 一、主要代码 import java.util.Scanner;public class demo101Calculator {public static void main(String[] args) {Sca…

深入云电脑PC Farm技术探讨,以阿里云、华为云、ToDesk为例

&#x1f31d;引言 近年来&#xff0c;云计算技术的飞速发展为各行各业的数字化转型带来了全新机遇&#xff0c;其中云电脑作为一种虚拟化桌面解决方案&#xff0c;逐渐成为个人用户与企业的核心选择。从远程办公、在线教育到高性能计算需求&#xff0c;云电脑通过为用户提供随…

力扣88题:合并两个有序数组

力扣88题&#xff1a;合并两个有序数组 题目描述 给定两个按非递减顺序排列的整数数组 nums1 和 nums2&#xff0c;以及它们的长度 m 和 n&#xff0c;要求将 nums2 合并到 nums1&#xff0c;使得合并后的数组仍按非递减顺序排列。 输入与输出 示例 1&#xff1a; 输入&am…

MAUI APP开发蓝牙协议的经验分享:与跳绳设备对接

在开发MAUI应用程序时&#xff0c;蓝牙协议的应用是一个重要的环节&#xff0c;尤其是在需要与外部设备如智能跳绳进行数据交换的场景中。以下是我在开发过程中的一些经验和心得&#xff0c;希望能为你的项目提供帮助。 1. 蓝牙协议基础 蓝牙协议是无线通信的一种标准&#x…

Vector软件CANdb++的信号起始位Bug

问题现象 前几天导入DBC文件发现不对劲&#xff0c;怎么生成代码的起始地址都怪怪的&#xff0c;检查下工程里面的配置&#xff0c;还真的是这样&#xff0c;一路查到输入文件——DBC文件&#xff0c;发现是DBC文件就有错误&#xff1a;一些CAN报文之后8字节长度&#xff0c;也…

Qt 面试题学习12_2024-11-30

Qt 面试题 1、描述Qt的TCP通讯流程2、自定义控件流程3、什么是Qt的插件机制 &#xff1f; 1、描述Qt的TCP通讯流程 服务端&#xff08;QTcpServer&#xff09; 1、创建TcpServer对象 2、使用listen()方法将服务器绑定到本地地址和端口 3、当有新的客户端连接成功发送newConnec…

2022-12-4----Android11(H713m)---- WiFi驱动添加写入mac号补丁

一、问题 用全志的写号工具&#xff0c;写入wifi_mac&#xff0c;设置下边不生效 二、分析 因为我们的WiFi不是用全志平台的&#xff0c;也不是用全志集成好的&#xff0c;而是用希微这家第三方的WiFi/BT&#xff0c;所以该驱动还没完善。 三、修改前的准备 用写号工具写号…

网站维护记录

服务器重启&#xff0c;网站打不开&#xff1a;chown -R manager:manager /run/php-fpm/www.sock wordpress升级需设置ftp&#xff1a; // 设置权限0777 //define("FS_METHOD", "direct"); //define("FS_CHMOD_DIR", 0777); //define("…

单端和差分信号的接线法

内容来源&#xff1a;【单端信号 差分信号与数据采集卡的【RSE】【 NRES】【 DIFF】 模式的连接】 此篇文章仅作笔记分享。 单端输入 单端信号指的是输入信号由一个参考端和一个信号端构成&#xff0c;参考端一般是地端&#xff0c;信号就是通过计算信号端口和地端的差值所得…

C++——名字遮蔽与类的作用域

C 类的作用域以及继承的特殊关系 名字遮蔽与类的作用域继承的特殊关系 名字遮蔽与类的作用域 如果派生类中的成员&#xff08;包括成员变量和成员函数&#xff09;和基类中的成员重名&#xff0c;通过派生类对象或者在派生类的成员函数中使用该成员时&#xff0c;将使用派生类…

Solana VS 以太坊:基于数据、市场情绪和催化剂对比分析,Solana 能否实现逆袭?

2023年&#xff0c;加密货币市场再度迎来了波动与重塑。在这一轮周期中&#xff0c;Solana&#xff08;SOL&#xff09;凭借其强劲的价格表现和创新的技术架构&#xff0c;成为市场的焦点之一。SOL的价格从2022年12月的低点一路飙升&#xff0c;甚至创下了历史新高264 USDT&…

Mac安装MINIO服务器实现本地上传和下载服务

0.MINIO学习文档 Minio客户端mc使用 | Elibaron学习笔记 1.Mac安装MINIO 中文官方网址&#xff1a;MinIO下载和安装 | 用于创建高性能对象存储的代码和下载内容 (1) brew 安装 brew install minio/stable/minio &#xff08;2&#xff09;安装完成&#xff0c;执行brew i…

el-table 组件二次封装(vue2)

PublicTable.vue <!-- 公共表格组件 --> <template><div class"table-common"><el-table v-loading"loading" :ref"tableid" border style"width: 100%" :data"tableDatas" :row-key"rowKey&quo…

pgsql指令、pg在docker中打开

常规 linux 在安装pgsql的服务器上 root是用户名&#xff0c;test是数据库名 psql -U root -d test登录后显示&#xff0c;12,6是版本号 psql (12.6) 查询所有表 \dt查询表结构 \d table_name查询表所属 \dp manual_logistics_logSELECT n.nspname AS table_schema,c.re…