#1229
Medium Algorithms Meeting scheduler
Array Two Pointers Sorting
55.2% acceptance
Mar 31, 2026
957
39
No description available.
Solution
Rust
Time O(n)
Space O(n)
impl Solution {
pub fn min_available_duration(slots1: Vec<Vec<i32>>, slots2: Vec<Vec<i32>>, duration: i32) -> Vec<i32> {
let mut s1 = slots1;
let mut s2 = slots2;
s1.sort_unstable_by_key(|a| a[0]);
s2.sort_unstable_by_key(|a| a[0]);
let (mut i, mut j) = (0, 0);
while i < s1.len() && j < s2.len() {
let start = s1[i][0].max(s2[j][0]);
let end = s1[i][1].min(s2[j][1]);
if end - start >= duration {
return vec![start, start + duration];
}
if s1[i][1] < s2[j][1] {
i += 1;
} else {
j += 1;
}
}
vec![]
}
}