由数学可以得出为[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]