与えられた行列がPythonでテプリッツ行列であるかどうかをチェックするプログラム
行列Mがあるとすると、それがテプリッツ行列であるかどうかを確認する必要があります。ご存知のように、左から右に下がるすべての対角線が同じ値を持つ場合、行列はテプリッツと呼ばれます。
したがって、入力が次のような場合
7 | 2 | 6 |
3 | 7 | 2 |
5 | 3 | 7 |
その場合、出力はTrueになります。
これを解決するには、次の手順に従います-
- 最後の行を除く各行iについて、実行します
- 最後の列を除く各列について、
- matrix [i、j]がmatrix [i + 1、j + 1]と同じでない場合、
- Falseを返す
- matrix [i、j]がmatrix [i + 1、j + 1]と同じでない場合、
- 最後の列を除く各列について、
- Trueを返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, matrix): for i in range(len(matrix)-1): for j in range(len(matrix[0])-1): if matrix[i][j]!=matrix[i+1][j+1]: return False return True ob = Solution() matrix = [ [7, 2, 6], [3, 7, 2], [5, 3, 7]] print(ob.solve(matrix))
入力
[[7, 2, 6], [3, 7, 2], [5, 3, 7]]
出力
True
-
与えられたグラフがPythonで2部グラフであるかどうかをチェックするプログラム
無向グラフが1つあるとすると、グラフが2部グラフであるかどうかを確認する必要があります。グラフのすべてのエッジ{u、v}がAに1つのノードuを持ち、Bに別のノードvを持つように、グラフのノードを2つのセットAとBに分割できる場合、グラフは2部グラフであることがわかります。 したがって、入力が次のような場合 次に、出力はTrueになり、[0,4]はセットAにあり、[1,2,3]はセットBにあり、すべてのエッジはAからAまたはBからBではなく、AからBまたはBからAになります。 。 これを解決するために、次の手順に従います- 関数dfs()を定義します。これはソースを取ります
-
指定された文字列がキーワードであるかどうかを確認するPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数値が与えられているので、その数値が2の累乗であるかどうかを確認する必要があります。 キーワードは、特定の用途で任意の言語によって予約されている特別な単語であり、識別子として使用することはできません。 指定された文字列がキーワードであるかどうかを確認するために、以下で説明するようにキーワードモジュールを使用しました。 例 # keyword module import keyword # Function def isKeyword(word) : # list of all