2.1. Easy

26. Remove Duplicates from Sorted Array

26. Remove Duplicates from Sorted Array

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

27. Remove Element

27. Remove Element

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

66. Plus One

66. Plus One

class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        return [int(a) for a in (str(int(''.join(map(str, digits))) + 1))]

118. Pascal’s Triangle

118. Pascal’s Triangle

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        res = []
        for i in range(numRows):
            res.append([])
            for j in range(i + 1):
                if j in (0, i):
                    res[i].append(1)
                else:
                    res[i].append(res[i-1][j-1] + res[i-1][j])
        return res

119. Pascal’s Triangle II

119. Pascal’s Triangle II

class Solution:
    def getRow(self, rowIndex: int) -> List[int]:
        res = [0] * (rowIndex + 1)
        res[0] = 1
        for i in range(1, rowIndex + 1):
            pre = res[:]
            for j in range(1, i+1):
                res[j] = pre[j-1] + pre[j]
        return res

189. Rotate Array

189. Rotate Array

class Solution:
    def rotate(self, nums: List[int], k: int) -> None:
        k = k % len(nums)
        self.reverse(nums, 0, len(nums) - k - 1)
        self.reverse(nums, len(nums) - k, len(nums) - 1)
        self.reverse(nums, 0, len(nums) - 1)

    def reverse(self, nums, s, e):
        while s < e:
            nums[s], nums[e] = nums[e], nums[s]
            s += 1
            e -= 1

448. Find All Numbers Disappeared in an Array

448. Find All Numbers Disappeared in an Array

class Solution:
    def findDisappearedNumbers(self, nums: List[int]) -> List[int]:
        a = set([i for i in range(1, len(nums) + 1)])
        b = set(nums)
        return list(a - b)