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

Pythonで有効なアナグラム


アナグラムは基本的に、特定の文字列またはパターンのすべての順列です。このパターン検索アルゴリズムは少し異なります。この場合、正確なパターンが検索されるだけでなく、テキスト内の指定されたパターンのすべての可能な配置が検索されます。したがって、入力が「ANAGRAM」と「NAAGARM」の場合、それらはアナグラムですが、「cat」と「fat」はアナグラムではありません

これを解決するために、文字列を文字のリストに変換してから並べ替えます。並べ替えられた2つのリストが同じ場合は、アナグラムです。

例(Python)

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

class Solution(object):
   def isAnagram(self, s, t):
      """
      :type s: str
      :type t: str
      :rtype: bool
      """
      return "".join(sorted(s)) == "".join(sorted(t))
ob1 = Solution()
print(ob1.isAnagram("ANAGRAM","NAAGARM"))

入力

s = "ANAGRAM"
t = "NAAGARM"

出力

true

  1. アナグラム部分文字列検索用のPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −テキストとパターンが与えられた場合、パターンのすべての出現とその順列(またはアナグラム)をテキストで印刷する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # maximum value MAX = 300 # compare def compare(arr1, arr2):    for i in range(MAX):       if arr1[i] != arr2[i]:       &nbs

  2. Pythonの葉序パターン?

    葉序パターンとは何ですか? 戻ってみると、植物学のクラスや植物の世界では、葉序とは、フィボナッチスパイラルに見られるものと同様に、植物の茎に花、葉、または種子を配置することを意味します。フィボナッチ数列に基づくフィボナッチスパイラルは、パスカルの三角形に似たパターンに従う数字のセットです。フィボナッチ数列は-1、1、2、3、5、8、13、21、34、55、89、144などのようなものです。したがって、フィボナッチ数列は以前の数の合計です。 フィボナッチスパイラル 私たちは通常、私たちの周りのオブジェクトを理解するために対称性とパターンを探します。気付かないうちに、私たちの目はフィボナッチ数