题解 | #二分查找-I#
二分查找-I
https://www.nowcoder.com/practice/d3df40bd23594118b57554129cadf47b
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param nums int整型一维数组
# @param target int整型
# @return int整型
#
class Solution:
def search(self , nums: List[int], target: int) -> int:
# write code here
l=0
r=len(nums)-1
while l<=r: # 这里的条件有等于,因为当l=r时,下一步算m就是l(r)本身
m=(l+r)//2 #m表示l+r中的整数个2
if nums[m]==target:
return m
if nums[m]>target:
r=m-1
else:
l=m+1
return -1
二分法属于分治的一种,第14行的条件包含等于,因为此时l=r,下一步m取的是l或r本身。

vivo公司福利 698人发布