新手区 算法积累

MmoMartin · October 25, 2018 · Last by MmoMartin replied at July 22, 2019 · 1450 hits

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

代码块


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):#一次循环数值大的顶上 且每次循环的lena)长度小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 条回复 时间 点赞

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

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

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

冒泡好像不正确。。

唠嗑炸了 回复

没用过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 习惯了就好

8Floor has been deleted
Viking Den 回复

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

MmoMartin #10 · July 22, 2019 作者

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

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up