题目链接:https://leetcode.com/problems/minimum-number-of-arrows-to-burst-balloons/description/
注:下面给的这个不能AC,因为有一组数据是INT_MIN。。
把第一个人工记录就好了。贴这个是因为风格比较标准。
(略微改了一下,现在可以AC)
static const auto __________ = []()
{
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
return nullptr;
}();
class Solution {
public:
int findMinArrowShots(vector<pair<int, int>>& points) {
if (points.empty())return 0;
std::sort(points.begin(), points.end(),
[](const std::pair<int, int>& lhs, const std::pair<int, int>& rhs)
->bool { return lhs.second < rhs.second; });
int _counter = (points[0].first == INT_MIN);
int cur = _counter ? points[0].second : INT_MIN;
for (auto const& v : points)
if (v.first > cur)
{
_counter++;
cur = v.second;
}
return _counter;
}
};