import java.util.*; class Meeting implements Comparator { int start; int finish; boolean selected; public Meeting(int s, int f) { start = s; finish = f; } public int compare(Object o1, Object o2) { Meeting m1 = (Meeting) o1; Meeting m2 = (Meeting) o2; return (m1.finish - m2.finish); } public static void select(Meeting[] m) { Arrays.sort(m,m[0]); m[0].selected = true; for (int i = 1; i < m.length; i++) m[i].selected = false; // j is index of the last selected meeting int j = 0; for (int i = 2; i < m.length; i++) { // We check if m[i] is compatible with // the meetings selected so far if (m[i].start >= m[j].finish) { m[i].selected = true; j = i; } } } }