注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
- public static int intersectionSizeTwo(int[][] intervals) {
- Arrays.sort(intervals, (a,b)->(a[1]-b[1]));
- int len = intervals.length;
- int res = 0;
- int[] range = new int[]{-1, -1};
-
- for(int i=0; i<len; i++){
- int[] cur = intervals[i];
-
- if(range[1]<cur[0]){
- res += 2;
- range[0] = cur[1]-1;
- range[1] = cur[1];
- }else if(range[1]==cur[0] ||range[0]<cur[0]){
- res+=1;
- range[0] = range[1];
- range[1] = cur[1];
- }
- System.out.println(range[0]+" , "+range[1]);
- }
- System.out.println(range[0]+" , "+range[1]);
- return res;
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- int[][] intervals= {{2,4},{2,5},{3,6},{4,6}};
- System.out.println(intersectionSizeTwo(intervals));
- }
复制代码
res是正确的, 但range的start/end总比预期值多了1, 返回的是4,5,6 , 预期值应该是3,4,5 |