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

Pythonで連続した重複を削除する


文字列sがあり、この文字列は「R」と「L」で構成されているとすると、連続する「R」と連続する「L」がないように、最小数の文字を削除する必要があります。

したがって、入力が「LLLRLRR」のような場合、出力は「LRLR」になります

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

  • seen:=sの最初の文字
  • ans:=sの最初の文字
  • インデックス1からsの終わりまでの各文字iについて、
    • 私が見たものと同じでない場合は、
      • ans:=ans + i
      • 見た:=i
  • 回答を返す

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

class Solution:
   def solve(self, s):
      seen = s[0]
      ans = s[0]
      for i in s[1:]:
         if i != seen:
            ans += i
            seen = i
      return ans
ob = Solution()
print(ob.solve("LLLRLRR"))

入力

"LLLRLRR"

出力

LRLR

  1. リストから重複要素を削除するPythonプログラム?

    1つのリストには重複要素が含まれています。私たちのタスクは、重複なしの要素を含む別のリストを作成することです。 例 A::[2,3,4,3,4,6,78,90] Output::[2,3,4,6,78,90] アルゴリズム Step 1: create a list. Step 2: create a new list which is empty. Step 3: traverse every element in list. Step 4: if element is not present in the list return true. Step 5: append in the

  2. Pythonで特定の文字列からすべての重複を削除します

    Pythonで文字列からすべての重複を削除するには、最初に文字列をスペースで分割して、各単語が配列に含まれるようにする必要があります。次に、重複を削除する方法は複数あります。 最初にすべての単語を小文字に変換し、次にそれらを並べ替え、最後に一意の単語のみを選択することで、重複を削除できます。たとえば、 例 sent = "Hi my name is John Doe John Doe is my name" # Seperate out each word words = sent.split(" ") # Convert all words to