diff options
Diffstat (limited to 'saddle-points/src')
| -rw-r--r-- | saddle-points/src/lib.rs | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/saddle-points/src/lib.rs b/saddle-points/src/lib.rs deleted file mode 100644 index 7123243..0000000 --- a/saddle-points/src/lib.rs +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | fn is_min(mat: &[Vec<u64>], col: usize, row: usize) -> bool { | ||
| 2 | (0..mat.len()).all(|r| mat[r][col] >= mat[row][col]) | ||
| 3 | } | ||
| 4 | |||
| 5 | pub fn find_saddle_points(input: &[Vec<u64>]) -> Vec<(usize, usize)> { | ||
| 6 | let mut res = vec![]; | ||
| 7 | for (row,relem) in input.iter().enumerate() { | ||
| 8 | let m = relem.iter().max(); | ||
| 9 | for (col,celem) in relem.iter().enumerate() { | ||
| 10 | if (m == Some(celem)) && is_min(input,col,row) { | ||
| 11 | res.push((row,col)); | ||
| 12 | } | ||
| 13 | } | ||
| 14 | } | ||
| 15 | res | ||
| 16 | } | ||
