











创建于 2022年10月12日 06:28:02 · 约203字
LeetCode 75 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台
leetcode题号: 704. 二分查找 代码随想录视频链接 时间:37min
python
def search(nums, target: int) -> int:
result = -1
right = len(nums) - 1
left = 0
middle = int(right / 2)
while True:
if left == right:
if target == nums[middle]:
result = middle
break
if target == nums[middle]:
result = middle
break
elif target > nums[middle]:
left = middle + 1
middle = int((left + right) / 2)
elif target < nums[middle]:
if middle==left: # 处理边界条件,例如两个元素,为什右边不会有这个情况
right = middle
else:
right = middle - 1
middle = int((left + right) / 2)
return result
if __name__ == '__main__':
print(search([2,3,4,5,6],7))运行结果
leetcode题号:27 代码随想录视频链接 时间:45min
python
def removeElement(self, nums: List[int], val: int) -> int:
'''
双指针法
'''
f=0
s=0
while (f<=len(nums)-1):
if nums[f]==val:
f+=1
continue
else:
nums[s]=nums[f]
f+=1
s+=1
return len(nums[:s])
def removeElement(self, nums: List[int], val: int) -> int:
‘‘‘
暴力移除
'''
i = 0
while (i < len(nums)):
if nums[i] == val:
for j in range(i, len(nums) - 1):
nums[j] = nums[j + 1]
del(nums[-1])
else:
i += 1
return len(nums)运行结果
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。