def findDuplicate(self, nums: List[int]) -> int:
l=[]
for item in nums:
if item in l:
return (item)
else:
l.append(item)
def sortColors(self, nums: List[int]) -> None:
# Point at the last 0
l=0
r=len(nums)-1
curr=0
while (curr<=r):
if (nums[curr]==0):
nums[l], nums[curr] = nums[curr], nums[l]
l=l+1
curr=curr+1
elif (nums[curr]==2):
nums[curr], nums[r] = nums[r], nums[curr]
r=r-1
else:
curr=curr+1
def missingNumber(self, nums: List[int]) -> int:
x=0
for i in range(len(nums)+1):
if x in nums:
x=x+1
else:
return (x)
def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
"""
Do not return anything, modify nums1 in-place instead.
"""
nums = nums1[:m]
i1=0
i2=0
for i in range(m+n):
if i1 <= m-1 and i2 <= n-1:
nums1[i] = min(nums[i1],nums2[i2])
if nums[i1]<=nums2[i2]:
i1=i1+1
else:
i2=i2+1
elif i1 == m:
nums1[i:] = nums2[i2:]
break
elif i2 == n:
nums1[i:] = nums[i1:]
break
def maxSubArray(self, nums: List[int]) -> int:
max_cur = max_glo = nums[0]
for i in range(1, len(nums)):
max_cur = max(nums[i], max_cur + nums[i])
if max_cur > max_glo:
max_glo = max_cur
return max_glo
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
intervals.sort(key=lambda x:x[0])
i=1
while (i<len(intervals)):
if ( intervals[i][0] <= intervals[i-1][1] ):
intervals[i-1][0] = min(intervals[i-1][0], intervals[i][0])
intervals[i-1][1] = max(intervals[i-1][1], intervals[i][1])
intervals.pop(i)
else:
i=i+1
return (intervals)