use std::cmp::max; struct Solution; impl Solution { pub fn count_days(mut days: i32, mut meetings: Vec>) -> i32 { meetings.sort_by(|a, b| a[0].cmp(&b[0])); let mut ans = 0; let mut last_end = 1; for c in meetings.iter() { if last_end >= c[0] { last_end = max(last_end, c[1] + 1); continue; } ans += c[0] - last_end; last_end = c[1] + 1; } days += 1; if days > last_end { ans += days - last_end; } ans } } fn main() { let sl = Solution::count_days(10, vec![vec![5, 7], vec![1, 3], vec![9, 10]]); println!("{}", sl); }