package P1803;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
import java.util.StringTokenizer;
class Node{
int start,end;
}
class Compare implements Comparator<Node>{
@Override
public int compare(Node x, Node y) {
// TODO Auto-generated method stub
if(x.end < y.end) {
return -1;
}else {
return 1;
}
}
}
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int n,count=1;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt(br.readLine());
Node[] a = new Node[1000005];
for(int i=0;i<n;i++) {
a[i] = new Node();
StringTokenizer st = new StringTokenizer(br.readLine());
a[i].start = Integer.parseInt(st.nextToken());
a[i].end = Integer.parseInt(st.nextToken());
}
Arrays.sort(a,0,n,new Compare());
Node current = new Node();
current = a[0];
for(int i=1;i<n;i++) {
if(a[i].start < current.end) {
continue;
}
count++;
current = a[i];
}
System.out.println(count);
}
}
具体代码是这样的
C++写就能通过,用Java写就MLE了
求救Java大神在线指点