283. Move Zeroes

https://leetcode.com/problems/move-zeroes/

solution

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        slow = 0  # 有效位置,本题存放第一个0的位置. 类似quick sort中的partition
        for i in range(len(nums)):
            if nums[i] != 0:
                nums[slow], nums[i] = nums[i], nums[slow]
                slow += 1

时间复杂度:O(n) 空间复杂度:O(1)

follow up

268. Missing Number

  • 位运算:异或

class Solution:
    def missingNumber(self, nums: List[int]) -> int:
        s = 0
        for i in nums:
            s = s ^ i

        for i in range(len(nums)+ 1):
            s = s ^ i

        return s

41. First Missing Positive

*163. Missing Ranges

287. Find the Duplicate Number

Last updated