Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの大きな数


行列があるとすると、その行と列で値が最大の整数の総数を見つける必要があります。

したがって、入力が次のような場合

1 3 2
4 6 5
1 5 7

6と7が有効であるため、出力は2になります。

これを解決するには、次の手順に従います-

  • マット:=マトリックス

  • r_maxes:=マットの各行の最大要素のリストを作成する

  • c_maxes:=マットの各列の最大要素のリストを作成する

  • a:=新しいリスト

  • 0から行数-1までの範囲のrの場合、実行

    • 0から列数-1までの範囲のcの場合、実行

      • v:=mat [r、c]

      • r_maxes [r]がvで、c_maxes [c]がvの場合、

        • の最後にvを挿入します
  • の戻りサイズ

理解を深めるために、次の実装を見てみましょう-

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

  1. 2つの数値を追加するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 2つの大きな数が与えられ、それらを追加して出力を表示する必要があります。 ブルートフォースアプローチでは、オペランド間に「+」演算子を使用するか、2つの数値を反復可能に格納して、Python標準ライブラリで使用可能な組み込みのsum関数を使用できます。 このアプローチでは、計算が10進数で直接行われるため、時間計算量が増加します。 次に、10進数のビットを処理する別のアプローチについて説明します。 ここでは、合計とキャリーを計算する加算器の概念を使用します。 それでは、実装を見

  2. Pythonで浮動小数点数をクランプする方法は?

    クランプ機能は、値を特定の範囲に制限します。 Pythonにはそのような関数が組み込まれていません。この関数は次のように作成できます def clamp(num, min_value, max_value):    return max(min(num, max_value), min_value) print(clamp(5, 1, 20)) print(clamp(1, 10, 20)) print(clamp(20, 1, 10)) これにより、出力が得られます 5 10 10