classSolution{public:intintersectionSizeTwo(vector<vector<int>>&intervals){intans=0;intmax=-1;intsecondMax=-1;sort(begin(intervals),end(intervals),[](constauto&a,constauto&b){returna[1]==b[1]?a[0]>b[0]:a[1]<b[1];});for(constvector<int>&interval:intervals){constinta=interval[0];constintb=interval[1];// Max and 2nd max still satisfyif(max>=a&&secondMax>=a)continue;if(max>=a){// Max still satisfysecondMax=max;max=b;// Add b to the set Sans+=1;}else{// Max and 2nd max can't satisfymax=b;// Add b to the set SsecondMax=b-1;// Add b - 1 to the set Sans+=2;}}returnans;}};
classSolution{publicintintersectionSizeTwo(int[][]intervals){intans=0;intmax=-1;intsecondMax=-1;Arrays.sort(intervals,(a,b)->a[1]==b[1]?b[0]-a[0]:a[1]-b[1]);for(int[]interval:intervals){finalinta=interval[0];finalintb=interval[1];// Max and 2nd max still satisfyif(max>=a&&secondMax>=a)continue;if(max>=a){// Max still satisfysecondMax=max;max=b;// Add b to the set Sans+=1;}else{// Max and 2nd max can't satisfymax=b;// Add b to the set SsecondMax=b-1;// Add b - 1 to the set Sans+=2;}}returnans;}}