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¶
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¶
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¶
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¶
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¶
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)