zoukankan      html  css  js  c++  java
  • 153. 寻找旋转排序数组中的最小值-二分法

    注意:

      1. python中二分法取中点方法: mid = l + ( r - l ) // 2

      2. 递归的时候,一定要包括中点

        a) 旋转点在左边,则递归 (l,mid)

        b) 旋转点在右边,则递归(mid+1,r)

      3. 递归的过程中,一定要设置返回值

        res = helper(l,r)

        不能直接,那是更新最大最小值,或者append 

        helper(l,r) 

     注意普通二分查找,是不包括中点的

            def search_normal(l,r):

                while l<=r:
                    mid = l+(r-l)//2
                    print('normal')
                    print(l,mid,r)
                    if nums[mid] == target :
                        return mid
                    elif nums[mid]<target:
                        l = mid+1
                    elif nums[mid]>target:
                        r = mid-1
                    else:
                        return mid
                return -1

      

  • 相关阅读:
    iptables
    iftop
    sed&awk
    rz&sz
    关于springboot + mybatis plus 使用事务
    关于JsonArray.toList转换
    jmeter脚本录制
    去掉百度右边的百度热搜等干扰项,集中注意力呀~~
    报错
    图片的异步上传
  • 原文地址:https://www.cnblogs.com/ChevisZhang/p/13488823.html
Copyright © 2011-2022 走看看