简介
二分法主要是针对在一个有序且不重复的列表中寻找某个数,那为什么不直接进行查找非要用二分法进行,这是因为当数据量较大的时候,直接暴力查找会耗较多时间,用二分法可以有效地缩短查找时间。
二分法的应用二分法思路的日常应用
二分法原理:
力扣相关问题代码
问题描述:
class Solution:
def search(self, nums: List[int], target: int) -> int:
l,r = 0,len(nums)-1
while l <= r:
mid = (l+r)/2 #中点的索引值
if nums[int(mid)] == target: #如果中点变量和目标值相等
return int(mid) #返回该索引
elif nums[int(mid)] < target: #如果中点变量小于目标值
l = int(mid) + 1 #增加中点变量,往右边缩小
else: #如果中点变量大于目标值
r = int(mid) - 1
return -1 #返回找不到结果
相关学习视频