LeetCodeの配列要素を削除する

質問 26 と 80 は、順序付けられた配列内の重複の削除に関するものです。

このような問題については、次のことを考慮する必要があります。

  • k 個の同一の番号が保持されるため、最初の k 個の番号を直接保持できます。
  • 後続の数値については、それを保持するための前提条件は、現在書き込まれている位置の前の k 番目の要素と比較し、それらが同じでない場合は保持することです。

26. 順序付けされた配列から重複を削除する

class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        i=0
        for num in nums:
            if i<1 or nums[i-1]!=num:
                nums[i]=num
                i+=1
        return i

80. 順序付き配列の重複を削除 II

class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        i=0
        for num in nums:
            if i<2 or nums[i-2]!=num:
                nums[i]=num
                i+=1
        return i

質問 27 は、順序なし配列内の指定された要素を削除するというものです。

27. 要素を削除する

class Solution:
    def removeElement(self, nums: List[int], val: int) -> int:
        i=0
        for num in nums:
            if num!=val:
                nums[i]=num
                i+=1
        return i

おすすめ

転載: blog.csdn.net/hu_wei123/article/details/131891851