面试常问问题——常问小代码

1、斐波那契数列(两个元素的和确定下一个数)

 1 # 1,1,2,3,5,8,13,21,34,55,89......
 2 # 方法一:递归
 3  def feb(n):
 4       if n == 1 or n == 2:
 5           return 1
 6       else:
 7           return feb(n-1)+feb(n-2)
 8   n = 8
 9   print(feb(n))
10  
11  
12  # 方法二:循环
13  x,y = 0,0
14  n = 8
15  for i in range(0,n+1):
16      if i == 1 or i == 2:
17          x,y = 1,1
18      else:
19          x,y = y,x+y
20  print(y)

2、冒泡排序

 1 def bubble_sort(arr):
 2     n = len(arr)
 3     for i in range(n):
 4         for j in range(n-i-1):
 5             if arr[j] > arr[j+1]:
 6                 arr[j], arr[j+1] = arr[j+1], arr[j]
 7     return arr
 8 
 9 arr = [5, 69, 12, 1, 66, 85, 21]
10 print('待排序的数组为:', arr)
11 print('从小到大排序后结果为:', bubble_sort(arr))

 

posted @ 2019-08-06 16:37  Alieen617  阅读(561)  评论(0)    收藏  举报