Skip to content

Commit bb0efd4

Browse files
committed
chore: add rust code
1 parent 047f721 commit bb0efd4

File tree

1 file changed

+38
-0
lines changed
  • solution/1500-1599/1504.Count Submatrices With All Ones

1 file changed

+38
-0
lines changed

solution/1500-1599/1504.Count Submatrices With All Ones/README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,44 @@ function numSubmat(mat: number[][]): number {
228228
}
229229
```
230230

231+
#### Rust
232+
233+
```rust
234+
impl Solution {
235+
pub fn num_submat(mat: Vec<Vec<i32>>) -> i32 {
236+
let m = mat.len();
237+
let n = mat[0].len();
238+
let mut g = vec![vec![0; n]; m];
239+
240+
for i in 0..m {
241+
for j in 0..n {
242+
if mat[i][j] == 1 {
243+
if j == 0 {
244+
g[i][j] = 1;
245+
} else {
246+
g[i][j] = 1 + g[i][j - 1];
247+
}
248+
}
249+
}
250+
}
251+
252+
let mut ans = 0;
253+
for i in 0..m {
254+
for j in 0..n {
255+
let mut col = i32::MAX;
256+
let mut k = i as i32;
257+
while k >= 0 && col > 0 {
258+
col = col.min(g[k as usize][j]);
259+
ans += col;
260+
k -= 1;
261+
}
262+
}
263+
}
264+
ans
265+
}
266+
}
267+
```
268+
231269
#### JavaScript
232270

233271
```js

0 commit comments

Comments
 (0)