zoukankan      html  css  js  c++  java
  • 递归函数

    fib数列:

     

     习题:一个嵌套很多层的列表,如l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]],用递归取出所有的值。

    分析,可以看到,列表的最后一个值都为列表,可以打印列表前面的数,把最后一个值(列表)递归到下一次

    ,如此递归,当最后一个值不知列表时,打印最后的列表退出,完成。可以用type(li[-1])is int   

         或者 type(li[-1]) is not list 

    #二分法,思路,找中间的值,与要找的值比较,中间值大于 要找的值,说明在左边,反之亦然
    li = [1,2,3,4,5,7,9,10,12,16,48]

    left = 0
    right = len(li)-1
    def binary_search(li,number):
    global left,right
    mid = (left +right)//2
    if left <= right:
    if li[mid] == number:
    print(f"{number}找到了在{mid}")
    return
    elif li[mid] > number:
    right = mid -1
           binary_search(li,number)
            elif li[mid] < number:
    left = mid+1
    binary_search(li,number)
    else:
    print("没找到")
    return

     



  • 相关阅读:
    [Apache commons系列]DBUtils 示例代码
    关于syslog
    Phoenix Tips (1)
    Phoenix 常用函数
    Phoenix 的数据类型
    最简单的Phoenix 访问 HBase例子
    SVNKIT 主要方法
    Linux 集群时钟同步
    Linux 集群时钟同步
    Linux 下定时提交SVN
  • 原文地址:https://www.cnblogs.com/liqiangwei/p/13861109.html
Copyright © 2011-2022 走看看