Equal Row and Column Pairs

LeetCode題目: 2352. Equal Row and Column Pairs

My solution:

/**
 * @param {number[][]} grid
 * @return {number}
 */
let equalPairs = grid => {
    let total = 0;
    let rows = grid.map(item=>item.join());
    let columns = grid.map((_,i) => grid.map(item => item[i]).join());
    const getMap = arrData => {
        let map = new Map();
        arrData.forEach(arrString => map.has(arrString) ? map.set(arrString, map.get(arrString)+1) : map.set(arrString, 1));
        return map;
    }
    const rowsMap = getMap(rows);
    const columnsMap = getMap(columns);
    rowsMap.forEach((count, key) => columnsMap.has(key) && (total += columnsMap.get(key)*count));
    return total;
}
profile-image
Hi, 我是 Zeki。目前為一名前端工程師。我相信科技始終來自於人性,是用來幫助人們過上更有品質的生活的,但願也希望如此。