Skip to content

Commit 919e3a3

Browse files
committed
Create 2294-partition-array-such-that-maximum-difference-is-k.rs
1 parent ac75912 commit 919e3a3

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
pub fn partition_array(nums: Vec<i32>, k: i32) -> i32 {
2+
let mut sorted_nums = nums.clone();
3+
sorted_nums.sort();
4+
let mut ret = 1;
5+
let mut tmp = vec![sorted_nums[0]];
6+
for num in &sorted_nums[1..] {
7+
if num - tmp[0] > k {
8+
tmp = vec![*num];
9+
ret += 1;
10+
} else {
11+
tmp.push(*num);
12+
}
13+
}
14+
ret
15+
}
16+
17+
fn main() {
18+
println!("{:?}", partition_array(vec![3, 6, 1, 2, 5], 2));
19+
println!("{:?}", partition_array(vec![1, 2, 3], 1));
20+
println!("{:?}", partition_array(vec![2, 2, 4, 5], 0));
21+
}

0 commit comments

Comments
 (0)