代码随想录刷题随记30-贪心4

代码随想录刷题随记30-贪心4

860.柠檬水找零

leetcode链接
比较显然

class Solution {public boolean lemonadeChange(int[] bills) {int []account=new int[3];for(int cur:bills){if(cur==5)account[0]++;else if(cur==10){account[0]--;if(account[0]<0)return false;account[1]++;}else{//stratege1account[1]--;account[0]--;if(account[0]>=0&&account[1]>=0)continue;//stratege2account[1]++;account[0]-=2;if(account[0]<0)return false;}}return true;}
}

406.根据身高重建队列

leetcode链接
首先按照身高h来排序,身高一定是从大到小排(身高相同的话则k小的站前面),让高个子在前面。
按照k为下标重新插入队列。
在这里插入图片描述
之所以要先按照身高从大到小进行排序,是因为这时当按照k把身高低的人从前面往队内插入的时候,不会影响高的人的k值。我们的目的实际上是要保证第二次插入时,因为插入导致顺序变化后的结果不会影响已经完成插入的元素的结果

class Solution {public int[][] reconstructQueue(int[][] people) {Arrays.sort(people,(a,b)->{if(a[0]==b[0]) return a[1]-b[1];else return b[0]-a[0];});LinkedList<int[]>que=new LinkedList<>();for(int[] person:people){que.add(person[1],person);}return que.toArray(new int[people.length][]);}
}

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

leetcode链接

class Solution {public int findMinArrowShots(int[][] points) {Arrays.sort(points,(a,b)->{return Integer.compare(a[0] ,b[0]);});//这里不能写成a[0]-b[0]不然存在溢出的问题int count=1;for(int i=1;i<points.length;i++){if(points[i-1][1]<points[i][0]){count++;}else{points[i][1]=Math.min(points[i-1][1], points[i][1]);//这个更新很巧妙}}return count;}
}

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

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

相关文章

基于svm的手写数字识别程序介绍(matlab)

1、程序界面介绍 该程序GUI界面包括手写板、手写数字可视化&#xff08;原图&#xff09;、对图像进行灰度处理&#xff08;灰度图&#xff09;、图像二值化处理&#xff08;二值化&#xff09;、图像特征可视化&#xff08;HOG特征&#xff08;方向梯度直方图&#xff09;&…

鸿蒙内核源码分析(任务切换篇) | 看汇编如何切换任务

在鸿蒙的内核线程就是任务&#xff0c;系列篇中说的任务和线程当一个东西去理解. 一般二种场景下需要切换任务上下文: 在线程环境下&#xff0c;从当前线程切换到目标线程&#xff0c;这种方式也称为软切换&#xff0c;能由软件控制的自主式切换.哪些情况下会出现软切换呢? 运…

SQL注入分析---(原理、危害、防御、应急响应)

1、攻击原理 漏洞成因可以归结为以下两个原因叠加造成的&#xff1a;1&#xff09;程序编写者在处理应用程序和数据库交互时&#xff0c;使用字符串拼接的方式构造SQL语句&#xff1b;2&#xff09;未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句中。 2、危害…

【C 数据结构-动态内存管理】2. 边界标识法管理动态内存

文章目录 【 1. 边界标识法的结构设计 】【 2. 分配算法 】【 3. 回收算法 】3.1 空闲块两侧是占用块3.2 空闲块左侧是空闲块3.3 空闲块右侧是空闲块3.3 空闲块两侧是空闲块 边界标识法 可以解决系统中内存碎片过多而无法使用的问题。 【 1. 边界标识法的结构设计 】 使用边界…

Vue transition使用

// 单元素、单组件 出场 入场 动画 // 入场&#xff1a;从隐藏态到显示 // 出场&#xff1a;从显示态到隐藏 <style>/*过渡 动画的封装*//* 入场*//*开始*/.v-enter-from {opacity: 0;}/*整个过程怎么执行*/.v-enter-active {transition: opacity 3s ease-out;}/*结束*/.…

用PowerPoint创建毛笔字书写动画

先看看下面这个毛笔字书写动画&#xff1a; 这个动画是用PowerPoint创建的。下面介绍创建过程。 1、在任何一款矢量图片编辑软件中创建一个图片&#xff0c;用文字工具输入文字内容。我用的是InkScape。排好版后将图片保存为.svg格式的矢量图片文件。 2、打开PowerPoint&…

x264 编码器 x264_macroblock_encode 函数

x264 264是一个开源的视频编码库,用于将视频压缩为H.264/AVC(Advanced Video Coding)格式。它是一种广泛使用的视频编码标准,能够提供高质量的视频压缩和较低的比特率。x264库提供了一个编码器,可以将原始视频序列转换为H.264/AVC压缩的比特流。它实现了各种H.264编码算法…

【C++泛型编程】(二)标准模板库 STL

文章目录 标准模板库 STL容器算法迭代器仿函数/函数对象适配器分配器示例 标准模板库 STL C 的标准模板库&#xff08;Standard Template Library&#xff0c;STL&#xff09;旨在通过模板化的设计&#xff0c;提供一种通用的编程模式&#xff0c;使程序员能方便地实现和扩展各…

暴雨发布大模型专用分布式全闪存储

近日&#xff0c;暴雨信息发布为大模型专门优化的分布式全闪存储AVERSE系列。该系列依托暴雨信息自研分布式文件系统&#xff0c;搭载新一代数据加速引擎Xdata&#xff0c;通过盘控协同、GPU直访存储、全局一致性缓存等技术为AI大模型数据归集、训练、数据归档与管理等阶段提供…

在Python中安装和使用pandas库

在Python中安装和使用pandas库是一个相对简单的过程。以下是具体的步骤&#xff1a; 安装pandas库 你可以使用Python的包管理器pip来安装pandas。打开你的命令行工具&#xff08;在Windows上可能是CMD或PowerShell&#xff0c;在macOS或Linux上可能是Terminal&#xff09;&am…

看完这篇文章我奶奶都懂Opentracing了 (二)

二. 概念分析 1. Span和SpanContext 结合上述示例&#xff0c;我们从Span开始入手来进行概念分析&#xff0c;但是说在最前面&#xff0c;Span在不同的分布式链路实现中&#xff0c;其定义是不全一样的&#xff0c;尽管Opentracing已经进行了概念的统一&#xff0c;但是具体到…

1-1ARM开发环境搭建(GD32)

1:安装MDK最好是5.27以及以上版本&#xff0c;避免后续学习中出现相关错误 2&#xff1a;安装芯片支持包 双击安装即可&#xff0c;也可以是默认路径&#xff0c;也可以自己更改路径 3&#xff1a;安装jlink下载器驱动&#xff08;下载调试器&#xff09; 具体安装步骤如下所示…

一键解密,网络安全神器现已问世!

一、简介 当前版本V1.1这款工具是一款功能强大的网络安全综合工具&#xff0c;旨在为安全从业者、红蓝对抗人员和网络安全爱好者提供全面的网络安全解决方案。它集成了多种实用功能&#xff0c;包括解密、分析、扫描、溯源等&#xff0c;为用户提供了便捷的操作界面和丰富的功…

RTSP(Real Time Streaming Protocol)协议

RTSP&#xff08;Real Time Streaming Protocol&#xff09;是一种网络流媒体协议&#xff0c;用于建立和控制媒体服务器上的一个或多个时间同步的流媒体会话。RTSP 并不直接传输流媒体数据&#xff0c;而是为流媒体服务器提供了一种控制和选择流媒体的能力。 RTSP 是在 HTTP 基…

1456. 定长子串中元音的最大数目C++

给你字符串 s 和整数 k 。 请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。 英文中的 元音字母 为&#xff08;a, e, i, o, u&#xff09;。 示例 1&#xff1a; 输入&#xff1a;s "abciiidef", k 3 输出&#xff1a;3 解释&#xff1a…

一个好用的MQTT客户端软件

软件功能如下&#xff0c;实现的协议版本是 3.1.1 仅实现了常用的 CONNECT , PUBLISH , SUBSCRIBE 及相应的应答报文。支持以 Hex 格式显示接收的原始报文&#xff08;方便初学者学习&#xff09;。支持所有字段的自定义配置。支持保存与加载配置文件。 软件界面如下所示&…

NumPy 数组切片及数据类型介绍

NumPy 数组切片 NumPy 数组切片用于从数组中提取子集。它类似于 Python 中的列表切片&#xff0c;但支持多维数组。 一维数组切片 要从一维数组中提取子集&#xff0c;可以使用方括号 [] 并指定切片。切片由起始索引、结束索引和可选步长组成&#xff0c;用冒号 : 分隔。 语…

ESP32 IDF linux下开发环境搭建

文章目录 介绍升级Python环境下载Python包配置编译环境及安装Python设置环境变量 ESPIDF环境搭建下载esp-idf 代码编译等待下载烧录成功查看串口打印 介绍 esp32 官方文档给的不是特别详细 参考多方资料 最后才完成开发 主要问题在于github下载的很慢本教程适用于ubuntu deban…

Vue生命周期都有哪些?

定义 Vue的生命周期就是实例从创建到销毁的一个过程&#xff0c;即从创建、初始化数据、编译模板、挂载Dom($el)->渲染、更新->渲染&#xff0c;卸载等一系列的过程。el是挂载点如<div id"app"></div>。 Vue的生命周期分为八个阶段 1.beforeCreate…

关于实体类注解@Data、@EqualsAndHashCode(callSuper = true)、@Accessors(chain = true)的作用

笔记&#xff1a;都是lombook插件的注解&#xff0c;作用是简化优化代码等&#xff0c;比如getter、setter&#xff0c;一般三者连用能避免一些如继承类的导致的一些坑&#xff0c;比如equal()方法的错误&#xff0c;具体用法可查阅每个注解及属性的作用。 Accessors(chain tr…