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

全部评论

相关推荐

09-29 16:59
已编辑
门头沟学院 Java
理智的小猫不讲武德:接好运
投递大疆等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务