Pythonで並べ替えられた配列から重複を削除する
ソートされたリストAがあるとします。重複するすべてのエントリを削除した後、配列の長さを返す必要があります。これは、O(1)の余分なスペースで実行する必要があります。そのため、その場で操作を行う必要があります。
たとえば、A =[1、1、2、2、2、3、3、3、3、4、5、5、5、6]とすると、6つの異なる要素があるため、出力は6になります。
これを解決するには、次の手順に従います-
- リストが空の場合は、0を返します
- それ以外の場合は、最初にprev=Aの最初の要素を取得します。長さ=0を定義します
- for i:=1からn-1、do
- A [i]がprevと同じでない場合、
- 長さ:=長さ+ 1
- prev:=A [i]
- A [i]がprevと同じでない場合、
- 戻りの長さ
理解を深めるために実装を見てみましょう
例(Python)
class Solution(object): def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """ if len(nums) == 0: return 0 length = 1 previous = nums[0] index = 1 for i in range(1,len(nums)): if nums[i] != previous: length += 1 previous = nums[i] nums[index] = nums[i] index+=1 return length input_list = [1,1,2,2,2,3,3,3,3,4,5,5,5,6] ob1 = Solution() print(ob1.removeDuplicates(input_list))
入力
[1,1,2,2,2,3,3,3,3,4,5,5,5,6]
出力
6
-
特定の文から重複する単語をすべて削除するPythonプログラム。
与えられた文。特定の文から重複する単語をすべて削除します。 例 Input: I am a peaceful soul and blissful soul. Output: I am a peaceful soul and blissful. アルゴリズム Step 1: Split input sentence separated by space into words. Step 2: So to get all those strings together first we will join each string in a given list of strings. Step 3:
-
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