作者Rushia (みけねこ的鼻屎)
看板Marginalman
標題Re: [閒聊] 每日LeetCode
時間Thu Dec 14 20:10:40 2023
https://leetcode.com/problems/difference-between-ones-and-zeros-in-row-and-column/description
2482. Difference Between Ones and Zeros in Row and Column
給你一個二維陣列表示的矩陣grid,我們要找出一個新的diff矩陣,基於 grid
diff[i][j] = 第 i 行 1 的數量 + 第 i 列 0 的數量 - 第 j 行 0 的數量 - 第 j 列 0 的數量。
思路:
1.遍歷一次算出每一行和每一列 0 和 1 的數量相減。
2.第二次遍歷用行列相減後的數值賦值。
Java Code:
---------------------------------------
class Solution {
public int[][] onesMinusZeros(int[][] grid) {
int m = grid.length;
int n = grid[0].length;
int[][] res = new int[m][n];
int[] rows = new int[m];
int[] cols = new int[n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (grid[i][j] == 1) {
rows[i]++;
cols[j]++;
} else {
rows[i]--;
cols[j]--;
}
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
res[i][j] = rows[i] + cols[j];
}
}
return res;
}
}
---------------------------------------
--
https://i.imgur.com/Df746ya.jpg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.100.73.13 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1702555842.A.C13.html
※ 編輯: Rushia (122.100.73.13 臺灣), 12/14/2023 20:13:33
推 JIWP: 你可以只處理1的情況,最後的值就會是1的個數-(列/行數-1的 12/14 20:18
→ JIWP: 個數),這樣可以少if-else判斷 12/14 20:18
推 SecondRun: 大師 12/14 20:20