452. 用最少数量的箭引爆气球
解题思路
代码实现
var findMinArrowShots = function(points) {
points.sort((a,b)=>{
return a[0]-b[0];
})
var res =1;
console.log(points)
for(let i =1;i<points.length;i++){
if(points[i][0] > points[i-1][1]){
res++;
}else{
points[i][1] = Math.min(points[i][1],points[i-1][1]);
}
}
return res;
};
435. 无重叠区间
解题思路
代码实现
var eraseOverlapIntervals = function(intervals) {
intervals.sort((a,b)=>{
if(a[0] ===a[0]){
return a[1]-b[1];
}
return a[0] - b[0];
})
var res = 0,cur;
console.log(intervals);
for(let i=1;i<intervals.length;i++){
console.log(cur,intervals[i-1][1]);
if((cur!=undefined && intervals[i][0] < cur)){
res++;
}else if(cur ==undefined && (intervals[i][0] <intervals[i-1][1])){
cur= intervals[i-1][1];
res++;
}
else{
cur = intervals[i][1];
}
}
return res;
};
763.划分字母区间
解题思路
代码实现
var partitionLabels = function(s) {
var end,len=0,res=[];
for(let i =0;i<s.length;i++){
end = s.lastIndexOf(s[i]);
for(let j=1;j<end;j++){
end = s.lastIndexOf(s[j]) > end? s.lastIndexOf(s[j]):end;
}
len = end -i + 1;
i=end;
res.push(len);
}
return res;
};