数组理论基础
704. 二分查找
题目链接:https://leetcode.com/problems/binary-search/
文档讲解:代码随想录
状态:有二分法的思路但是写了一半没写出来
class Solution:
def search(self, nums: List[int], target: int) -> int:
# initiate values
left = 0
right = len(nums) - 1 # 注意这一点 - 1
while left <= right:
middle = left + (right - left) // 2 # 注意middle的算法和//的用法是向下取整
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:
fast = 0
slow = 0
size = len(nums)
while fast < size: #fast = size 会超过边界
if nums[fast] != val:
nums[slow] = nums[fast] #slow用来存储最终list的值
slow += 1 #新list储值的时候update index
fast += 1
return slow
总结:
9/29
才把第一天的打卡补上,接下来要把这周差的都补上。慢慢进入刷题状态,加油。