电池外贸一般在哪些网站做,网站最新一次改版时间什么意思,个人网站可以收费吗,网站上面的彩票快3怎么做目录
题目#xff1a;
示例#xff1a;
分析#xff1a;
代码#xff1a; 题目#xff1a; 示例#xff1a; 分析#xff1a;
本题和上一题基本一样#xff0c;上一题是要我们尽量让区间不重叠#xff0c;而本题是要我们尽量让区间重叠。
所以我们的做法和上一题…目录
题目
示例
分析
代码 题目 示例 分析
本题和上一题基本一样上一题是要我们尽量让区间不重叠而本题是要我们尽量让区间重叠。
所以我们的做法和上一题基本一致只不过由于我们要让尽可能多的区间重叠才可以用最少的箭来引爆所有气球。
因此我们一样是对区间进行排序按照 左端从小到大的顺序。
接着是拿一个变量去接收最小的右端。
不过右端的更新情况跟上一题相比有点不同。我们在遇到不重叠的区间的时候所需用的箭1并且直接将右端点更新成新的区间的右端点。
在遇到重叠区间的时候我们就将右端点更新为较小值。
并且跟上一题不一样的是我们起码要用一根箭所以答案初始化为1。 代码
class Solution {
public:int findMinArrowShots(vectorvectorint points) {//以左端点为升序排序.sort(points.begin(),points.end(),[](vectorint a,vectorint b){return a[0]b[0];});int res1;int endpoints[0][1]; //记录最小的右端点for(int i1;ipoints.size();i){if(points[i][0]end){endmin(end,points[i][1]);}else{endpoints[i][1];res;}}return res;}
};