这个问题没有什么思路,但是大家说这个是个斐波那契数列,到底为什么是斐波那契数列呢 ,原来是这样
这样就理解了,从第三项开始,每一项是前两项的和,累加就可以了。
代码:
效率不高,才击败20%不到的用户
class Solution(object):
def climbStairs(self, n):
"""
:type n: int
:rtype: int
"""
if n == 1:
return 1
list = [1, 2]
for i in range(2, n):
list.append(0)
list[i] = list[i-1] + list[i-2]
return list[n-1]
但是这样一变:
class Solution(object):
def climbStairs(self, n):
"""
:type n: int
:rtype: int
"""
if n == 1:
return 1
list = [1, 2]
for i in range(2, n):
list.append(list[i-1] + list[i-2])
return list[n-1]
结果就大不一样了,加油,已经做出来好几个题啦