【day1】数组part01
py
class Solution:
def search(self, nums: List[int], target: int) -> int:
left = 0
right = len(nums) - 1
while left <= right:
mid = left + ((right - left) // 2)
if nums[mid] < target:
left = mid + 1
elif nums[mid] > target:
right = mid - 1
else:
return mid
return -1
py
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
slow = 0
for fast in range(len(nums)):
if nums[fast] != val:
nums[slow] = nums[fast]
slow += 1
return slow
py
class Solution:
def sortedSquares(self, nums: List[int]) -> List[int]:
res = []
left = 0
right = len(nums) - 1
if nums[0] >= 0:
return [x**2 for x in nums]
if nums[-1] <=0:
return [x**2 for x in nums[::-1]]
for i in range(len(nums)):
if nums[left]**2 > nums[right] ** 2:
res.append(nums[left] ** 2)
left += 1
else:
res.append(nums[right] ** 2)
right -= 1
return res[::-1]