Skip to content

Commit 5b22b46

Browse files
committed
Add leetcode problem 1509
1 parent d4cfce2 commit 5b22b46

File tree

2 files changed

+34
-0
lines changed
  • leetcode/src
    • 01509_minimum_difference_between_largest_and_smallest_value_in_three_moves

2 files changed

+34
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
struct Solution;
2+
3+
impl Solution {
4+
pub fn min_difference(nums: Vec<i32>) -> i32 {
5+
let mut nums = nums;
6+
nums.sort_unstable();
7+
8+
if nums.len() < 5 {
9+
return 0;
10+
}
11+
12+
(0..4)
13+
.map(|i| nums[nums.len() - 4 + i] - nums[i])
14+
.min()
15+
.unwrap()
16+
}
17+
}
18+
19+
#[cfg(test)]
20+
mod tests {
21+
use super::*;
22+
23+
#[test]
24+
fn test() {
25+
let nums = vec![5, 3, 2, 4];
26+
assert_eq!(Solution::min_difference(nums), 0);
27+
28+
let nums = vec![1, 5, 0, 10, 14];
29+
assert_eq!(Solution::min_difference(nums), 1);
30+
}
31+
}

leetcode/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1421,3 +1421,6 @@ mod three_consecutive_odds;
14211421

14221422
#[path = "00350_intersection_of_two_arrays_ii/solution.rs"]
14231423
mod intersection_of_two_arrays_ii;
1424+
1425+
#[path = "01509_minimum_difference_between_largest_and_smallest_value_in_three_moves/solution.rs"]
1426+
mod minimum_difference_between_largest_and_smallest_value_in_three_moves;

0 commit comments

Comments
 (0)