Python3 세 단계 계단 질문

Python3 세 단계 계단 질문

원제 주소 https://leetcode-cn.com/problems/three-steps-problem-lcci/

주제 :

세 단계 문제. 아이는 n 차 수준은 자녀가 1, 2, 3 차의 순서에있을 수 있습니다, 계단에가이다. 계단에 아이들이 얼마나 많은 방법으로 계산하는 방법을 구현합니다. 결과는 매우 클 수, 당신은 1,000,000,007 결과를 죽을 필요가있다.

예 1 :

 输入:n = 3 
 输出:4
 说明: 有四种走法

예 2 :

 输入:n = 5
 输出:13

문제 해결 :

class Solution:
    def waysToStep(self, n: int) -> int:
        if n==0:
            return 0
        if n==1:
            return 1
        if n==2:
            return 2
        if n==3:
            return 4
        # 本题用动态规划的思路解题,但是不需要n个数组空间,只需3个记录
        e1 = 1
        e2 = 2
        e3 = 4
        for i in range(4, n+1):
            e4 = (e1 + e2 + e3)%1000000007 # 注意!取模一定要在这里就算好,而不是放到最后一步
            e1 = e2
            e2 = e3
            e3 = e4
        return e3
게시 24 개 원래 기사 · 원의 칭찬 0 · 조회수 421

추천

출처blog.csdn.net/qq_18138105/article/details/105162449