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

Pythonで指定された文字列文字からk回文を作成できるかどうかを確認するプログラムはありますか?


文字列sと別の数字kがあるとすると、sのすべての文字を使用してkpalindromesを作成できるかどうかを確認する必要があります。

したがって、入力がs ="amledavmel" k =2の場合、"level"と"madam"を作成できるため、出力はTrueになります。

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

  • d:=それぞれのユニークなキャラクターとその頻度を保存するマップ

  • cnt:=0

  • dのキーごとに、実行します

    • d [key]が奇数の場合、

      • cnt:=cnt + 1

    • cnt> kの場合、

      • Falseを返す

  • Trueを返す

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

from collections import Counter

class Solution:
   def solve(self, s, k):
      d = Counter(s)
         cnt = 0
         for key in d:
            if d[key] & 1:
               cnt += 1
            if cnt > k:
               return False
         return True

ob = Solution()
s = "amledavmel"
k = 2
print(ob.solve(s, k))
を返します

入力

"amledavmel",2

出力

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