代码随想录算法训练营第三十五天| 860、406、452

860.柠檬水找零 

文档和视频讲解:代码随想录(programmercarl.com)

状态:ac

用时:0.5h

思路:从头到尾遍历数组,记录5和10的数量,如果给的钱是5就更改5的数量;如果给的10,更改5和10的数量;如果给20,如果至少有一张5和10,就更改二者的数量,如果没有10但是至少3张5,更改5的数量。

代码:

图1



406.根据身高重建队列 

文档和视频讲解:代码随想录(programmercarl.com)

状态:ac

用时:1h

思路:由于有两个维度,需要根据两个维度还原一个顺序序列,就需要决定如何使用这两个维度进行排序。可以先根据身高从大到小排序,相同的身高再根据k从小到大排序。构造数组时,先插入身高高的人,后面身高比他小的人插入时,无论处于哪个位置,都不会改变前面排序的结果。

代码:

图2



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

文档和视频讲解:代码随想录(programmercarl.com)

状态:ac

用时:1h

思路:每支箭都射击尽量多的气球,根据气球范围右侧位置(左侧也可)进行排序。此时最小的右边界之前的气球肯定需要一支箭,射击后重新选择最小右边界。

代码:

图3
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容