Pythonの行列の各行の最小の交差要素を見つけるプログラム
各行が昇順でソートされている2Dマトリックスがあるとします。すべての行に存在する最小の数を見つける必要があります。そのような結果がない場合は、-1を返します。
したがって、入力が次のような場合
2 | 3 | 5 |
5 | 10 | 10 |
1 | 3 | 5 |
その場合、出力は5になります
これを解決するには、次の手順に従います-
-
行列が空の場合、
-
-1を返す
-
-
最初:=行列の最初の行からの新しいセット
-
行列の各行について、次のようにします
-
first:=最初に行の要素のセットを交差させます
-
最初が空の場合、
-
-1を返す
-
-
-
最初の最小値を返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, matrix): if not matrix: return -1 first = set(matrix[0]) for row in matrix: first &= set(row) if not first: return -1 return min(first) ob1 = Solution() matrix = [ [2, 3, 5], [5, 10, 10], [1, 3, 5] ] print(ob1.solve(matrix))
入力
matrix = [ [2, 3, 5], [5, 10, 10], [1, 3, 5] ]
出力
5
-
Pythonの二分探索木でk番目に小さい要素を見つけるプログラム
二分探索木があり、別の整数kがあるとすると、ツリー内でk番目に小さい値を見つける必要があります。 したがって、入力が次のような場合 k =3の場合、出力は7になります これを解決するには、次の手順に従います- スタック:=空のスタック i:=0 ans:=-1 スタックが空でないか、ルートがnullでない場合は、実行してください ルートがnullでない場合は、実行してください ルートをスタックにプッシュする ルート:=ルートの左側 v:=スタックから要素をポップ iがkと同じ場合、 ans:=vの値 ループか
-
行列の転置を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 行列が与えられた場合、転置を同じ行列に格納して表示する必要があります。 行列の転置は、行を列に、列を行に変更することで得られます。つまり、A行列の転置はA[i][j]をA[j][i]に変更することで得られます。 以下に示す実装を見てみましょう- 例 N = 4 def transpose(A): for i in range(N): for j in range(i+1, N): &nbs