代码随想录训练营Day35贪心算法04|860.柠檬水找零|406.根据身高重建队列|452. 用最少数量的箭引爆气球

860.柠檬水找零

  • 简单题,正常做就行,没什么套路

406.根据身高重建队列

  • 没什么思路,Carl:当有两个维度的要求时,先确定一个维度再去确定另外一个维度,不要试图同时进行
  • 一个是身高维度,一个是人数维度,先在身高维度从高排到低,再在人数维度进行调整
  • 思路理解了,但是算法细节上实现不出来,有以下几点要注意:
    • sort(begin, end, cmp):begin给定区间第一个元素的指针,end给定区间下一个元素的指针,cmp排序方式;若cmp省略则默认按从小到大方式排列,若填greater<int>()则按从大到小方式排列,若排列方式特殊则需要写一个函数,在本题中:
      static bool cmp(const vector<int> a, const vector<int> b){
      	if(a[0] == a[b]) return a[1] < b[1];
      	return a[0] > b[0];
      }
      
    • vec.insert(vec.begin()+i, number)
    • 用vector中的insert操作费时,因此用list<vector<int>> que,最后输出时令return vector<vector<int>>(que.begin(), que.end());

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

  • 首先要理解题目意思,其次没有那么复杂,先排序,再依次看有没有重叠即可
  • 注意思路
  • 注意,在static bool cmp(const vector<int>& a, const vector<int>& b)中,参数不加const就会导致运行超时,加了const就不会
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值