题解 | #二分查找-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本身。