Skip to content

Commit 57b0231

Browse files
committed
1288
1 parent 4f11e20 commit 57b0231

File tree

3 files changed

+46
-0
lines changed

3 files changed

+46
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@
144144
|1249|[Minimum Remove to Make Valid Parentheses](src/_1249_minimum_remove_to_make_valid_parentheses.rs)|
145145
|1281|[Subtract the Product and Sum of Digits of an Integer](src/_1281_subtract_the_product_and_sum_of_digits_of_an_integer.rs)|
146146
|1287|[Element Appearing More Than 25% In Sorted Array](src/_1287_element_appearing_more_than_25_in_sorted_array.rs)|
147+
|1288|[Remove Covered Intervals](src/_1288_remove_covered_intervals.rs)|
147148
|1290|[Convert Binary Number in a Linked List to Integer](src/_1290_convert_binary_number_in_a_linked_list_to_integer.rs)|
148149
|1299|[Replace Elements with Greatest Element on Right Side](src/_1299_replace_elements_with_greatest_element_on_right_side.rs)|
149150
|1304|[Find N Unique Integers Sum up to Zero](src/_1304_find_n_unique_integers_sum_up_to_zero.rs)|

src/_1288_remove_covered_intervals.rs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
struct Solution;
2+
use std::cmp::Reverse;
3+
4+
impl Solution {
5+
pub fn remove_covered_intervals(intervals: Vec<Vec<i32>>) -> i32 {
6+
let mut intervals = intervals;
7+
intervals.sort_by_key(|v| (v[0], Reverse(v[1])));
8+
9+
let mut result = 0;
10+
let mut v_1 = -1;
11+
for inter in intervals {
12+
if inter[1] > v_1 {
13+
result += 1;
14+
v_1 = inter[1];
15+
}
16+
}
17+
result
18+
}
19+
}
20+
21+
#[test]
22+
fn test() {
23+
assert_eq!(
24+
Solution::remove_covered_intervals(vec_vec_i32![[1, 4], [3, 6], [2, 8]]),
25+
2
26+
);
27+
assert_eq!(
28+
Solution::remove_covered_intervals(vec_vec_i32![[1, 4], [2, 3]]),
29+
1
30+
);
31+
assert_eq!(
32+
Solution::remove_covered_intervals(vec_vec_i32![[0, 10], [5, 12]]),
33+
2
34+
);
35+
assert_eq!(
36+
Solution::remove_covered_intervals(vec_vec_i32![[3, 10], [4, 10], [5, 11]]),
37+
2
38+
);
39+
assert_eq!(
40+
Solution::remove_covered_intervals(vec_vec_i32![[1, 2], [1, 4], [3, 4]]),
41+
1
42+
);
43+
}

src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,8 @@ mod _1281_subtract_the_product_and_sum_of_digits_of_an_integer;
290290
//
291291
mod _1287_element_appearing_more_than_25_in_sorted_array;
292292
//
293+
mod _1288_remove_covered_intervals;
294+
//
293295
mod _1290_convert_binary_number_in_a_linked_list_to_integer;
294296
//
295297
mod _1299_replace_elements_with_greatest_element_on_right_side;

0 commit comments

Comments
 (0)