Python 中的大数


假设我们有一个矩阵,我们必须找到数值在行和列中都为最大的整数的总数。

所以,如果输入如下

132
465
157

那么输出将为 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

更新日期: 02-Sep-2020

311 次浏览

开启你的 职业生涯

完成课程获取认证

入门
广告
© . All rights reserved.