rs: add «452. Minimum Number of Arrows to Burst Balloons»

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2024-03-19 00:01:48 +01:00
parent e9815ea0aa
commit 5e51f2ba08
Signed by: mfocko
GPG key ID: 7C47D46246790496

View file

@ -0,0 +1,21 @@
use std::cmp;
impl Solution {
pub fn find_min_arrow_shots(mut points: Vec<Vec<i32>>) -> i32 {
points.sort_unstable_by_key(|p| p[0]);
let mut used_arrows = 1;
let mut max_x = points[0][1];
for point in points.iter().skip(1) {
if point[0] <= max_x {
max_x = cmp::min(max_x, point[1]);
} else {
used_arrows += 1;
max_x = point[1];
}
}
used_arrows
}
}