rust_test/src/main.rs

29 lines
708 B
Rust
Raw Normal View History

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-11 09:26:00 +08:00
ans += c[0] - last_end;
last_end = c[1] + 1;
}
2025-07-11 09:26:00 +08:00
days += 1;
if days > last_end {
ans += days - last_end;
}
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]]);
println!("{}", sl);
}