2025-07-10 14:13:01 +08:00
|
|
|
use std::cmp::max;
|
|
|
|
|
|
|
|
struct Solution;
|
|
|
|
impl Solution {
|
2025-07-11 09:26:00 +08:00
|
|
|
pub fn count_days(mut days: i32, mut meetings: Vec<Vec<i32>>) -> 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;
|
2025-07-10 14:13:01 +08:00
|
|
|
}
|
2025-07-11 09:26:00 +08:00
|
|
|
ans += c[0] - last_end;
|
|
|
|
last_end = c[1] + 1;
|
2025-07-10 14:13:01 +08:00
|
|
|
}
|
2025-07-11 09:26:00 +08:00
|
|
|
days += 1;
|
|
|
|
if days > last_end {
|
|
|
|
ans += days - last_end;
|
2025-07-10 14:13:01 +08:00
|
|
|
}
|
|
|
|
ans
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
2025-07-11 09:26:00 +08:00
|
|
|
let sl = Solution::count_days(10, vec![vec![5, 7], vec![1, 3], vec![9, 10]]);
|
2025-07-10 14:13:01 +08:00
|
|
|
println!("{}", sl);
|
|
|
|
}
|