作者:
yam276 ('_')
2025-06-10 17:53:382352. Equal Row and Column Pairs
題目:
計算一個方形陣列有多少直排數字與橫排數字相等的情況
可以多 row / column 比一
思路:
先記錄 row 的次數 HashMap
然後開始組裝 column (因為比較難組)
每次組完去找 row 的同 Vec 組成的 freq
直接把次數加上去即可
Code:
use std::collections::HashMap;
impl Solution {
pub fn equal_pairs(grid: Vec<Vec<i32>>) -> i32 {
let n: usize = grid.len();
let mut freq = HashMap::new();
for i in 0..n {
let row = grid[i].clone();
*freq.entry(row).or_insert(0) += 1;
}
let mut count = 0;
for j in 0..n {
let mut column = Vec::new();
for i in 0..n {
column.push(grid[i][j]);
}
if let Some(&c) = freq.get(&column) {
count += c;
}
}
count
}
}