算法D34 | 贪心算法4 | 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

860.柠檬水找零 

本题看上好像挺难,其实挺简单的,大家先尝试自己做一做。代码随想录

分5/10/20讨论找零方案即可。

Python:

class Solution:def lemonadeChange(self, bills: List[int]) -> bool:ch5 = 0ch10 = 0for b in bills:if b == 20:ch5 -= 1if ch10 >=1:ch10 -= 1else:ch5 -= 2elif b == 10:ch5 -= 1ch10 += 1elif b == 5:ch5 += 1if ch5<0 or ch10<0:return Falsereturn True

C++:

class Solution {
public:bool lemonadeChange(vector<int>& bills) {int ch5 = 0;int ch10 = 0;for (int b: bills) {if (b==20) {if (ch10>=1) {ch10--;ch5--;} else {ch5 -= 3;}} else if (b==10) {ch5--;ch10++;} else { //b==5ch5++;}if (ch5<0 || ch10<0) return false;}return true;}
};

406.根据身高重建队列 

本题有点难度,和分发糖果类似,不要两头兼顾,处理好一边再处理另一边。代码随想录

关于vector原理讲解:代码随想录

难点在于读懂题目,读懂题目的关键在于递推写清楚case;根据题目直接写出来就是了。

Python:

class Solution:def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:people.sort(key=lambda x: (-x[0], x[1]))que = []for p in people:que.insert(p[1], p)return que

C++:

class Solution {
static bool cmp(const vector<int>& a, const vector<int>& b) {if (a[0]==b[0]) return a[1] < b[1];return a[0] > b[0];
}
public:vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {sort(people.begin(), people.end(), cmp);vector<vector<int>> que;for (int i=0; i<people.size(); i++) {que.insert(que.begin()+people[i][1], people[i]);}return que;}
};

452. 用最少数量的箭引爆气球  

本题是一道 重叠区间的题目,好好做一做,因为明天三道题目,都是 重叠区间。 

https://programmercarl.com/0452.%E7%94%A8%E6%9C%80%E5%B0%91%E6%95%B0%E9%87%8F%E7%9A%84%E7%AE%AD%E5%BC%95%E7%88%86%E6%B0%94%E7%90%83.html

Python:

class Solution:def findMinArrowShots(self, points: List[List[int]]) -> int:points.sort(key=lambda x: x[0])result = 1for i in range(1, len(points)):if points[i][0] > points[i-1][1]:result += 1else:points[i][1] = min(points[i-1][1], points[i][1])return result

C++:

class Solution {
static bool cmp(const vector<int>& a, const vector<int>& b) {return a[0] < b[0];
}
public:int findMinArrowShots(vector<vector<int>>& points) {sort(points.begin(), points.end(), cmp);int result=1;for (int i=1; i<points.size(); i++) {if (points[i][0] > points[i-1][1]) {result++;} else {points[i][1] = min(points[i][1], points[i-1][1]);}}return result;}
};

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

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

相关文章

vs2022 qt 关于lnk2001和2019同时报错的问题

需要像qt中添加模块&#xff0c;这里&#xff0c;缺少qtopenglwidgets模块

大数据分析课----实时更新

1&#xff1a;Anaconda3 windows 安装 &#xff1a; 去官网下载&#xff1b; 然后安装好直接点next 点 i agree&#xff1b; 自己的电脑选第一个&#xff1b;学校的话选All Users &#xff1b; 选择自己存放的目录&#xff1b; 选前三个&#xff1b; 安装即可&#xff1b; 一直…

解决Maven项目中的依赖冲突

1. 排查依赖冲突 在IDEA中下载插件 Maven Helper用于排查依赖版本冲突。 打开项目的pom.xml文件&#xff0c;点击下方的【Dependency Analyzer】按钮切换到依赖解析页面。 2. 解决版本依赖 在依赖解析页面进行依赖冲突排查操作&#xff1a; 点击 【Exclude】 后会在爆红处所对…

当Linux 磁盘满了,查看大文件并删除

当你的Linux磁盘空间满了时&#xff0c;可以通过以下步骤查找大文件并删除它们&#xff1a; 检查磁盘空间&#xff1a; 使用以下命令检查磁盘空间的使用情况&#xff1a; df -h这将显示文件系统的使用情况&#xff0c;包括每个文件系统的总大小、已用空间、可用空间和挂载点。 …

为PDF创建目录(侧边栏目录)

通过可以新建书签的pdf阅读器。 知云翻译&#xff1a;可以新建书签和子书签。 Adobe Acrobat&#xff1a;只能新建书签&#xff0c;不能建立子书签。

Java通过反射给注解赋值

在用java导出Excel的时候&#xff0c;表头不能写死&#xff0c;而是根据情况变化的。 实体类如下&#xff1a; public class EquSysExportNoChainVo {Excel(name "")private String thisValue; //当前值 } 给实体类的Excel的name赋值的方法如下&…

《操作系统原理》算法总结

一、进程调度算法 先来先服务调度算法&#xff08;FCFS&#xff09; 每次调度是从就绪队列中&#xff0c;选择一个最先进入就绪队列的进程&#xff0c;把处理器分配给该进程&#xff0c;使之得到执行。该进程一旦占有了处理器&#xff0c;它就一直运行下去&#xff0c;直到该…

String 类 经典例题题集

一、把字符串转换成整数 (atoi) 请你来实现一个 myAtoi(string s) 函数&#xff0c;使其能将字符串转换成一个 32 位有符号整数&#xff08;类似 C/C 中的 atoi 函数&#xff09;。 函数 myAtoi(string s) 的算法如下&#xff1a; 读入字符串并丢弃无用的前导空格检查下一个字符…

中国企业走向世界,新加坡共和理工学院师生首站到访开源网安交流

近年来&#xff0c;中国企业在众多领域突飞猛进&#xff0c;不断追赶国际头部企业技术水平&#xff0c;甚至在某些领域已经达到国际领先水平&#xff0c;国内企业的最佳实践逐渐成为了全球精英学习研究的对象。 3月4日&#xff0c;由新加坡五所国立理工学院之一的新加坡共和理工…

Docker 干货系列 (持续更新)

dive 直接用本地镜像名称来启动&#xff0c;不需要走 hub dive.sh IMAGE_NAME"${1}" TMP_FILE/tmp/dive-tmp-image.tar docker save "$IMAGE_NAME" > $TMP_FILE && dive $TMP_FILE --sourcedocker-archive && rm $TMP_FILE示例&#…

Pytorch_1_基本语法

一、Pytorch的基本元素操作 1.引入torch from __future__ import print_function import torch 2.创建矩阵 x torch.empty(5,3) print(x) 3.输出结果&#xff1a; tensor([[7.9191e34, 1.1259e24, 1.2359e-42], [4.0824e-40, 1.1379e-35, 2.5353e30], [8.…

金三银四刷完这个笔记,17K不能再少了....

大家好&#xff0c;最近有不少小伙伴在后台留言&#xff0c;得准备面试了&#xff0c;又不知道从何下手&#xff01;为了帮大家节约时间&#xff0c;特意准备了一份面试相关的资料&#xff0c;内容非常的全面&#xff0c;真的可以好好补一补&#xff0c;希望大家在都能拿到理想…

数学分析(单多变量微积分)复习和学习大纲

前言&#xff1a;开始整理这些资料的时候&#xff0c;已经是本人研一下学期的开学了。然而在遥远的4年前本人因为疫情的原因居家学习的时候&#xff0c;数学分析一度是我的噩梦。但时至今日&#xff0c;越来越发现这些基础的数学问题的重要性。尽管本人就读的本科一再强调其学生…

【HTML】day01

列表 作用&#xff1a;布局内容排序整齐的区域。 列表分类&#xff1a;无序列表、有序链表、定义列表 无序列表 <ul><li>test</li><li>test</li><li>test</li><li><h1>h1</h1></li></ul><!DOCTYPE…

GDOI2024 游记

推荐在 cnblogs 上阅读。 GDOI2024 游记 Day -6 元宵节&#xff0c;得知自己可以参加 GDOI&#xff0c;惊喜坏了。 要知道&#xff0c;我 CSP-S 2&#xff0c;NOIP 没参加。居然去了 GDOI&#xff01; 真的有很多很多想说的话&#xff0c;非常非常感谢教练。但是这里不作抒…

稀碎从零算法笔记Day7-LeetCode:买卖股票的最佳时机

题型&#xff1a;数组、动态规划 链接&#xff1a;121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天…

【嵌入式】嵌入式系统稳定性建设:进程监控的不可或缺之力

嵌入式系统稳定性建设&#xff1a;进程监控的不可或缺之力 1. 简介2. systemd2.1 介绍2.2 示例2.3 优缺点 3. procd3.1 介绍3.2 示例3.3 优缺点 4. busybox4.1 介绍4.2 示例4.3 优缺点 5. setprop5.1 介绍5.2 示例5.3 优缺点 6. 自定义监控进程6.1 介绍6.2 示例6.3 优缺点 7. 结…

深度学习,人工智能总结

1&#xff0c;入门建议少看书&#xff0c;多看 csdn 上帖子总结&#xff08;主要就是 BP 神经网络&#xff0c;CNN &#xff0c;rnn &#xff09;&#xff0c;建立宏观的概念和主要框架&#xff0c;书可以作为进阶补充作为工具书查阅。 2,目前的神经网络还处于前牛顿时代&#…

RT-DETR改进RepVGG结构:简单但功能强大的卷积神经网络架构

💡本篇内容:RT-DETR改进RepVGG结构:简单但功能强大的卷积神经网络架构 💡🚀🚀🚀本博客 改进源代码改进 适用于 RT-DETR 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,RT-DETR专属 应部分读者要求,新增一篇RepVGG 论文理论部分 + 原…

216.组合总和|||

// 定义一个名为Solution的类 class Solution {// 初始化一个用于存储结果的列表&#xff0c;其中每个元素是一个整数列表&#xff0c;表示一组组合List<List<Integer>> result new ArrayList<>();// 初始化一个LinkedList用于存储当前路径上的整数LinkedLi…