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