Pythonの単語リスト内に存在するサブシーケンスの数を見つけるプログラム
単語のリストと文字列sがあるとすると、単語リスト内でsのサブシーケンスである文字列の数を見つける必要があります。
したがって、入力がwords =["xz"、 "xw"、 "y"] s ="xyz"の場合、"xz"と"y"は"xyz"のサブシーケンスであるため、出力は2になります。
これを解決するには、次の手順に従います-
- ans:=0
- d:=空の地図
- 単語内の各単語について、
- d [word [0]] の最後に単語を挿入します
- sの各cについて、
- l:=d [c]
- d [c]:=新しいリスト
- lの各単語について、
- 単語のサイズが1の場合、
- ans:=ans + 1
- それ以外の場合、
- d[word[1]]の最後にword[インデックス1から最後まで]の部分文字列を挿入します
- 単語のサイズが1の場合、
- 回答を返す
理解を深めるために、次の実装を見てみましょう-
例
from collections import defaultdict class Solution: def solve(self, words, s): ans = 0 d = defaultdict(list) for word in words: d[word[0]].append(word) for c in s: l = d[c] d[c] = [] for word in l: if len(word) == 1: ans += 1 else: d[word[1]].append(word[1:]) return ans ob = Solution() words = ["xz", "xw", "y"] s = "xyz" print(ob.solve(words, s))
入力
["xz", "xw", "y"], "xyz"
出力
2
-
リスト内の最小数を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal
-
リスト内で最大数を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 与えられたリスト入力では、与えられたリストの中で最大の数を見つける必要があります。 ここでは、2つのアプローチについて説明します 並べ替え手法の使用 組み込みのmax()関数を使用する アプローチ1-組み込みのsort()関数を使用する 例 list1 = [18, 65, 78, 89, 90] list1.sort() # main print("Largest element is:", list1[-1]) 出力 Largest element is: