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

与えられたブロックのリストがPythonでx=y行に対して対称であるかどうかをチェックするプログラム


numsという番号のリストがあるとします。そして、それは正方形のブロックの高さを表しています。形状がy=xの線上で対称であるかどうかを確認する必要があります。

したがって、入力がnums =[7、5、3、2、2、1、1]のような場合、出力はTrueになります

与えられたブロックのリストがPythonでx=y行に対して対称であるかどうかをチェックするプログラム

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

  • i:=0
  • j:=numsのサイズ-1
  • i <=jの場合、do
    • h:=nums [j]
    • i
    • nums [i]が(j + 1)と同じでない場合、
      • Falseを返す
    • i:=i + 1
  • j:=j-1
  • Trueを返す
  • 理解を深めるために、次の実装を見てみましょう。

    class Solution:
       def solve(self, nums):
          i = 0
          j = len(nums) - 1
          while i <= j:
             h = nums[j]
             while i < h:
                if nums[i] != j + 1:
                   return False
                i += 1
                j -= 1
          return True
    
    ob = Solution()
    nums = [7, 5, 3, 2, 2, 1, 1]
    print(ob.solve(nums))
    を返す

    入力

    [7, 5, 3, 2, 2, 1, 1]

    出力

    True

    1. 与えられたグラフが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()を定義します。これはソースを取ります

    2. 指定された文字列がキーワードであるかどうかを確認するPythonプログラム

      この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数値が与えられているので、その数値が2の累乗であるかどうかを確認する必要があります。 キーワードは、特定の用途で任意の言語によって予約されている特別な単語であり、識別子として使用することはできません。 指定された文字列がキーワードであるかどうかを確認するために、以下で説明するようにキーワードモジュールを使用しました。 例 # keyword module import keyword # Function def isKeyword(word) :    # list of all