rs: add «2966. Divide Array Into Arrays With Max Difference»
Signed-off-by: Matej Focko <me@mfocko.xyz>
This commit is contained in:
parent
058016d144
commit
feee06dc93
1 changed files with 18 additions and 0 deletions
18
rs/divide-array-into-arrays-with-max-difference.rs
Normal file
18
rs/divide-array-into-arrays-with-max-difference.rs
Normal file
|
@ -0,0 +1,18 @@
|
|||
impl Solution {
|
||||
pub fn divide_array(mut nums: Vec<i32>, k: i32) -> Vec<Vec<i32>> {
|
||||
nums.sort();
|
||||
|
||||
let divisions: Vec<Vec<i32>> = nums.as_slice().chunks_exact(3).map(Vec::from).collect();
|
||||
|
||||
for d in &divisions {
|
||||
let first = d.first().expect("must have first element");
|
||||
let last = d.last().expect("we are guaranteed triples");
|
||||
|
||||
if last - first > k {
|
||||
return vec![];
|
||||
}
|
||||
}
|
||||
|
||||
divisions
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue