19 lines
492 B
Rust
19 lines
492 B
Rust
|
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
|
||
|
}
|
||
|
}
|