using System.Collections.Generic;
public static bool canAttendAllAppointments(List<Interval> intervals) {
for (int index = 0; index < intervals.Count - 1; index++) {
Interval a = intervals[index];
Interval b = intervals[index + 1];
public static void Main()
Interval[] intervals = { new Interval(1, 4), new Interval(2, 5), new Interval(7, 9) };
List<Interval> intervalList = new List<Interval>();
intervalList.AddRange(intervals);
bool result = canAttendAllAppointments(intervalList);
Console.WriteLine("Can attend all appointments: " + result);
Interval[] intervals1 = { new Interval(6, 7), new Interval(2, 4), new Interval(8, 12) };
intervalList = new List<Interval>();
intervalList.AddRange(intervals1);
result = canAttendAllAppointments(intervalList);
Console.WriteLine("Can attend all appointments: " + result);
Interval[] intervals2 = { new Interval(4, 5), new Interval(2, 3), new Interval(3, 6) };
intervalList = new List<Interval>();
intervalList.AddRange(intervals2);
result = canAttendAllAppointments(intervalList);
Console.WriteLine("Can attend all appointments: " + result);
public class Interval : IComparable<Interval> {
public Interval(int start, int end) {
public int CompareTo(Interval other) {
return this.start.CompareTo(other.start);