大佬帮看下我的代码有啥问题没?也是贪心的思想,不过并没有基于算导的那些公式; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class Main {     static class P implements Comparable<P>{         int a, b;         P(int c, int d) {             a = c;             b = d;         }         @Override         public int compareTo(P o) {             return a - o.a;         }         public String toString() {             return a + "," + b;         }     }     public static void main(String[] args) {         Scanner s = new Scanner(System.in);         int n = s.nextInt();         int m = s.nextInt();         List<P> list = new ArrayList<P>();         for (int i=0; i<n; i++) {             int a = s.nextInt(), b = s.nextInt();             if (a > b) b += m;             list.add(new P(a, b));         }         Collections.sort(list);         //System.out.println(list);         int cnt = 0;         List<P> r = new ArrayList<P>();         for (int i=0; i<list.size(); i++) {             if (r.size() == 0) { //第一个直接加入                 cnt ++;                 r.add(list.get(i));             } else if (list.get(i).a < r.get(r.size()-1).b) { //如果当前区间和已经加入的区间冲突那么就不加入                 //System.out.println(list.get(i) + "," + r.get(r.size()-1));                 continue;             } else {                 r.add(list.get(i));                 cnt ++;             }         }         System.out.println(cnt);         s.close();     } } 最后通过了33.33%,我也没注意到只能是当天收看这个条件,是不是还有其他问题?求教。
点赞 2

相关推荐

牛客网
牛客企业服务