Python 中的大數
假設我們有一個矩陣,我們必須找到數值在行和列中都為最大的整數的總數。
所以,如果輸入如下
| 1 | 3 | 2 |
| 4 | 6 | 5 |
| 1 | 5 | 7 |
那麼輸出將為 2,因為 6 和 7 是有效的。
為解決此問題,我們將按照這些步驟操作 −
mat := 矩陣
r_maxes := 建立一個 mat 中每一行的最大元素列表
c_maxes := 建立一個 mat 中每一列的最大元素列表
a := 一個新列表
對於行 r 從 0 到行數 - 1,執行
對於列 c 從 0 到列數 - 1,執行
v := mat[r, c]
如果 r_maxes[r] 是 v 並且 c_maxes[c] 是 v,那麼
將 v 插入到 a 的末尾
返回 a 的大小
讓我們檢視以下實現以獲得更好的理解 −
示例
class Solution: def solve(self, matrix): mat = matrix trans_mat = list(zip(*matrix)) print(mat, trans_mat) r_maxes = [max(row) for row in mat] c_maxes = [max(t_row) for t_row in trans_mat] a = [] for r in range(len(mat)): for c in range(len(trans_mat)): v = mat[r][c] if (r_maxes[r], c_maxes[c]) == (v, v): a.append(v) return len(a) ob = Solution() matrix = [ [1, 3, 2], [4, 6, 5], [1, 5, 7] ] print(ob.solve(matrix))
輸入
[[1, 3, 2], [4, 6, 5], [1, 5, 7]]
輸出
2
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP