新手区 算法积累

MmoMartin · 2018年10月25日 · 最后由 MmoMartin 回复于 2019年07月22日 · 2028 次阅读

# 冒泡排序算法,每一次比较把大的值往上冒

代码块


a = [100,89,7,6,45,99,22,788,0,63,9]
#冒泡排序
for i in range(len(a)):
    for i in range(len(a) - 1):#一次循环数值大的顶上  且每次循环的len(a)长度小1
        test = 0
        if a[i] > a[i+1]:
            test = a[i+1]
            a[i+1] = a[i]
            a[i] = test


#递归斐波那契数列
def f(i,a,b):
    print(a)
    if i == 10:
        return
    c = a+b
    f(i+1,b,c)
f(1,0,1)



共收到 9 条回复 时间 点赞

用了 Python 还在用 C 的实现...

leecode 我在那里也玩 也刷题,来这里是从头开始

冒泡好像不正确。。

没用过 C,只用过 Python 的有强迫症,去帮他改过来😁 😁 😁

那个递归感觉别扭,像是迭代换了个皮儿,输出工作和 return 没啥关系

from sys import exit
def f(i,a,b):
    print(a)
    if i == 10:
        exit()
    c = a+b
    f(i+1,b,c)
    print "won't run if use exit()"
f(1,0,1)
hellohell 回复

python 的每个函数对应一个 return 习惯了就好

Viking Den 回复

实践是检验真理的唯一标准

准备进攻 leecode 的算法题目,今天开始执行

1.面试要问排序,也是手写快排,复杂的要求写堆排思路。
2.用递归,堆栈溢出。
想刷算法,初级去剑指 OFFER,高级的 LEETCODE。

10楼 已删除
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册