代码随想录算法训练营第1天|704.27.977

2025-08-06  本文已影响0人  攻城狮科学家

704, 二分查找
看视频,都是左闭右开或者闭
class Solution:
def search(self, nums: List[int], target: int) -> int:
left = 0
right = len(nums)-1
while left <= right:
middle = int((left + right)/2)
if nums[middle] > target:
right = middle - 1
elif nums[middle] < target:
left = middle + 1
else:
return middle
return -1

27, 移除元素
学习了快慢指针挪动法
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
slowIndex = 0
for fastIndex in range(len(nums)):
if (nums[fastIndex] != val):
nums[slowIndex] = nums[fastIndex]
slowIndex = slowIndex + 1

    return slowIndex 

977,有序数组的平方
自己写的,先乘方,再排序
class Solution:
def sortedSquares(self, nums: List[int]) -> List[int]:
for i in range(len(nums)):
nums[i] = nums[i]*nums[i]

    for j in range(len(nums)):
        temp = 0
        for k in range(j+1, len(nums)):
            if nums[j] > nums[k]:
                temp = nums[j]
                nums[j] = nums[k]
                nums[k] = temp
    return nums
上一篇 下一篇

猜你喜欢

热点阅读