Pythonの単語リストからアナグラムの最大のグループを見つけるプログラム
文字列の単語のリストがあるとすると、すべてのアナグラムをグループ化して、最大のグループ化のサイズを返す必要があります。
したがって、入力がwords =["xy"、 "yx"、 "xyz"、 "zyx"、 "yzx"、 "wwwww"]の場合、出力は["xyz"、"zyx"のように3になります。 、"yzx"]は最大のグループです。
これを解決するには、次の手順に従います-
-
lookup:=新しいマップ、最初は空
-
res:=0
-
言葉で言うと、iごとに
-
p:=辞書式順序でiを並べ替える
-
pがルックアップの場合はカウントを増やし、そうでない場合は1
-
res:=resとlookupの最大値[p]
-
-
解像度を返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, words): lookup = {} res = 0 for i in words: p = "".join(sorted(i)) lookup[p] = lookup.get(p, 0) + 1 res = max(res, lookup[p]) return res ob = Solution() words = ["xy", "yx", "xyz", "zyx", "yzx", "wwwww"] print(ob.solve(words))
入力
["xy", "yx", "xyz", "zyx", "yzx", "wwwww"]
出力
3
-
リスト内の最小数を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal
-
配列内の最大の要素を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、配列の最大要素を計算する必要があります。 ここでは、ループ全体をトラバースして最大の要素を計算し、要素を取得するブルートフォースアプローチを使用します。 以下の実装を観察できます。 例 # largest function def largest(arr,n): #maximum element max = arr[0] # traverse the whole loop for