由数学可以得出为[1,2,4,8]。所以有两种规律。第一种就是2的n-1次方,直接return。第二种,规律是2*f(n-1),后面是前面数的两倍,这里就是每次append前面数的两倍,然后索引出我们所求的是第几个。
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
# write code here
# return 2**(number-1)
a=[1,2]
if number <= 2:
return number
else:
for i in range(number-2):
a.append(2*a[i+1])
return a[number-1]