- 区间排序
考虑到使用区间的左端点还是右端点进行排序,sort函数里使用函数式编程.函数式编程是真的不熟,之前只是稍微了解过一些。
sort(points.begin(),points.end(),[](const vector<int>&a ,const vector<int>&b){return a[1]<b[1];});
- 思考方向
如果正向思考需要进行循环且每一步都需要有一定的处理步骤的时候,考虑相反方向处理可以豁然开朗,直接忽略正向操作的每一个步骤,只在满足负向条件的时候更换变量
int loc = points[0][1];
int count = 1;//开始的要是1,是按照每换一次loc进行选择的,第一次=1
for(int i=0;i<points.size();i++){
if(points[i][0]>loc){
loc = points[i][1];
++count;
}
}