Matrix Cells in Distance Order LeetCode solution in Rust

1
struct Cell {
2
r: i32,
3
c: i32,
4
d: i32,
5
}
6

7
impl Solution {
8
pub fn all_cells_dist_order(rows: i32, cols: i32, r_center: i32, c_center: i32) -> Vec<Vec<i32>> {
9
let mut ret = Vec::new();
10
let mut cells = Vec::new();
11
for r in 0..rows {
12
for c in 0..cols {
13
let dist = (r_center - r).abs() + (c_center - c).abs();
14
let cell = Cell {
15
r: r,
16
c: c,
17
d: dist,
18
};
19
cells.push(cell);
20
}
21
}
22
cells.sort_by(|a, b| a.d.cmp(&b.d));
23
for cl in cells {
24
ret.push(vec![cl.r, cl.c]);
25
}
26
ret
27
}
28
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0