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

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

860. 柠檬水找零

class Solution {
public:bool lemonadeChange(vector<int>& bills) {vector<int> count(2,0); //count[0]记录5美元,count[1]记录10美元for(int i = 0; i<bills.size();i++){if(bills[i]==5) count[0]++;else if(bills[i]==10){if(count[0]<=0) return false;else{count[0]--;count[1]++;}}else if(bills[i]==20){ if(count[1]<=0){ //如果10美元没有,我们尝试找零3个5美元count[0]-=3;}else{ //有10美元,找零一个5美元+一个10美元count[0]--;count[1]--;}if(count[0]<0) return false; //如果5美元用光,没法找零}}return true;}
};

406. 根据身高重建队列

尤其注意vector扩容机制对时间的消耗,优先采用list链表存储

class Solution {
public:static bool Compare(const vector<int>& a, const vector<int>& b) {if (a[0] == b[0]) return a[1] < b[1];return a[0] > b[0];}vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {list<vector<int>> que; //记录结果sort (people.begin(), people.end(), Compare); //排序操作,身高从高到低for(int i = 0; i< people.size();i++){int pos = people[i][1];list<vector<int>>::iterator it = que.begin();while(pos--){ //it只会遍历到que.end()位置it++;}que.insert(it,people[i]);}return vector<vector<int>>(que.begin(),que.end());}
};

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

class Solution {
private:
static bool Compare(const vector<int>& a, const vector<int>& b) {return a[0] < b[0];
}
public:int findMinArrowShots(vector<vector<int>>& points) {if (points.size() == 0) return 0;sort(points.begin(), points.end(), Compare);int result =1; //记录结果for(int i = 0; i<points.size()-1;i++){if(points[i][1] <points[i+1][0]) result++;  //上个气球右边界小于下个气球左边界,二者无重叠区间else{points[i+1][1] = points[i+1][1] < points[i][1] ?  points[i+1][1] : points[i][1];}}return result;}
};

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

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

相关文章

Vuex中的dispatch用来触发(派发)action

Vuex 中的 dispatch 方法是用来触发&#xff08;派发&#xff09;action 的。store.dispatch(‘actionName’) 会去调用名为 actionName 的 action。 在 Vuex 中&#xff0c;actions 类似于 mutations&#xff0c;但是可以包含任意异步操作&#xff0c;而且 action 不能直接修…

django rest_framework 部署doc文档

1.背景 在实际开发过程中&#xff0c;前后端分离的项目&#xff0c;是需要将一份完整的接口文档交付给前端开发人员&#xff0c;这样有利于开发速度和开发质量&#xff0c;以及有可能减少协同时间。 2.内容 本项目是以Pythondjangorest_framework作为技术框架&#xff0c;在这…

设计模式之里氏代换原则:打破常规,让代码更灵活

在软件开发的世界中&#xff0c;设计模式是解决常见问题的最佳实践。其中&#xff0c;里氏代换原则&#xff08;Liskov Substitution Principle&#xff0c;LSP&#xff09;是面向对象设计的基本原则之一&#xff0c;它强调了在软件中子类型必须能够替换其基类型&#xff0c;而…

Zabbix监控(2)

目录 一.自动发现 配置自动发现&#xff1a;&#xff08;被动模式&#xff09; 修改三台服务器的hosts文件&#xff1a; 修改agent02的配置文件&#xff1a; 访问页面&#xff0c;删除客服端主机配置&#xff1a; 在配置的自动发现中添加规则&#xff1a; 我们重启的zab…

基于springboot的疫情物资捐赠和分配系统

&#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;一 、设计说明 1.1 课题背景 二…

网站引导页源码带视频背景源码系统:HTML5开发的引导页 附带完整的搭建教程

随着互联网技术的飞速发展&#xff0c;网站引导页作为用户体验的重要环节&#xff0c;越来越受到开发者的关注。传统的静态图片引导页已经无法满足用户对于新鲜感和互动性的需求。小编给大家分享一款基于HTML5的带视频背景的源码系统&#xff0c;旨在为用户提供更加丰富、动态的…

细说JavaScript内置对象(JavaScript内置对象详解)

一、String对象 1、简单上手 2、构造方法 3、其他方法 3.1、charAt() 3.2、indexOf() 3.3、split() 3.4、substring() 3.5、substr() 4、实际操作 二、Math对象 1、简单上手 2、对象属性 3、对象方法 4、实际操作 三、Date对象 1、简单上手 2、构造方法 3、实…

【网络安全】【密码学】【北京航空航天大学】实验四、古典密码(上)【C语言实现】

实验四、古典密码&#xff08;上&#xff09; 一、实验目的 1、 通过本次实验&#xff0c;了解古典加密算法的主要思想&#xff0c;掌握常见的古典密码。 2、 学会应用古典密码&#xff0c;掌握针对部分古典密码的破译方法。 二、原理简介 古典密码的编码方法主要有两种&am…

第一个 OpenGL 程序:旋转的立方体(VS2022 / MFC)

文章目录 OpenGL API开发环境在 MFC 中使用 OpenGL初始化 OpenGL绘制图形重置视口大小 创建 MFC 对话框项目添加 OpenGL 头文件和库文件初始化 OpenGL画一个正方形OpenGL 坐标系改变默认颜色 重置视口大小绘制立方体使用箭头按键旋转立方体深度测试添加纹理应用纹理换一个纹理 …

【电商API接口】挖掘电商数据常用的方法

电子商务模式是一个连接线上用户和线下商家的多边平台商业模式。O2O 商业模式将实体经济与线上资源融合在一起&#xff0c;使网络成为实体经济延伸到虚拟世界的渠道; 线下商业可以到线上挖掘和吸引客源&#xff0c;而消费者可以在线上筛选商品和服务并完成支付&#xff0c;再到…

C++面试实战问题之关键字

1.extern和static的区别&#xff0c;什么情况用前者&#xff0c;什么情况用后者 extern用于声明引用其他文件中定义的全局变量或函数。并不分配内存空间。static用于限定变量、函数或类的作用域&#xff0c;使其仅在当前源文件中可见或保持静态特性。在函数内部&#xff0c;使用…

PB获取随机字符串

// // 函数: randstr() //-------------------------------------------------------------------- // 描述:获取随机字符串 //-------------------------------------------------------------------- // 参数: // value string as_str 一个随机因子字符串 // value intege…

自定义shell工具函数之get_config()

自定义shell工具函数之get_config() function get_config() {key$1default${2-}value$(grep "^${key}" "${CONFIG_FILE}" | awk -F { print $2 } | awk -F { print $1 })if [[ -z "$value" ]];thenvalue"$default"fiecho "${va…

计算机网络(第六版)复习提纲

计算机网络历程 一、计算机网络体系结构 1974年 美国IBM公司&#xff1a; SNA&#xff08;系统网络体系结构&#xff09; 1977年 国际标准化组织&#xff1a; OSI/RM&#xff08;开放系统互连基本参考模型&#xff09;【抽象概念】 1983年 国际化标准组织&#xff1a; ISO 74…

CMake 实战构建TcpServer项目 静态库/动态库

爱编程的大丙CMake&#xff1a; 20. 举例 - 下_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV14s4y1g7Zj?p20&spm_id_frompageDriver&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 hehedalinux:~/Linux/LinuxServerCpp$ ls Buffer.cpp Log.h Buffe…

基于Java SSM框架实现学生综合考评管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现学生学生综合考评管理系统演示 摘要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 学生综合考评管理系统&#xff0c;主要的模块包括查看&#xff1b;管理员&#xff1b;个…

知识分享:一文读懂AIGC与大模型

什么是大模型&#xff1f; 关于大模型&#xff0c;有学者称之为“大规模预训练模型”(large pretrained language model&#xff09;&#xff0c;也有学者进一步提出”基础模型”(Foundation Models)的概念。 “小模型”&#xff1a;针对特定应用场景需求进行训练&a…

音频文件格式–celt

CELT介绍 CELT 是一种开放、免版税的有损音频压缩格式&#xff0c;也是一种免费软件编解码器&#xff0c;具有特别低的算法延迟&#xff0c;适用于低延迟音频通信。这些算法是公开记录的&#xff0c;并且可以不受软件专利限制地使用。 CELT 是一种基于改进的离散余弦变换 (MD…

你还没脱单,这些软件都得背锅

不管你是否认可情人节概念&#xff0c;是否会在这天与自己的那个ta相聚&#xff0c;每个成年人都会或多或少地思考自己的感情问题。 在互联网兴盛之前&#xff0c;人与人的交往大都依靠职场关系和熟人介绍来结识新的对象&#xff0c;但也有媒人、婚姻介绍所等专门的职业为适龄…

基于Jackson自定义json数据的对象转换器

1、问题说明 后端数据表定义的id主键是Long类型&#xff0c;一共有20多位。 前端在接收到后端返回的json数据时&#xff0c;Long类型会默认当做数值类型进行处理。但前端处理20多位的数值会造成精度丢失&#xff0c;于是导致前端查询数据出现问题。 测试前端Long类型的代码 …