面试题 08.01. 三步问题

​​题目来源:

leetcode题目,网址:面试题 08.01. 三步问题 - 力扣(LeetCode)

解题思路:

动态规划。1 阶楼梯 1 种走法,2 阶楼梯 2 种走法,3 阶楼梯 6 种类走法。假设有 n(n>3) 阶楼梯,n-1 阶楼梯有 a 种走法,n-2 阶楼梯有 b 种走法,n-3 阶楼梯有 c 种走法,则 n 阶楼梯有 a+b+c 中走法。

解题代码:

class Solution {
    public int waysToStep(int n) {
        if(n==1){
            return 1;
        }else if(n==2){
            return 2;
        }else if(n==3){
            return 4;
        }else{
            return ways(n);
        }
    }
    public int ways(int n){
        long preThree=1;
        long preTwo=2;
        long preOne=4;
        int now=4;
        long res=preOne+preTwo+preThree;
        while(now!=n){
            preThree=preTwo;
            preTwo=preOne;
            preOne=res;
            res=(preOne+preTwo+preThree)%1000000007;
            now++;
        }
        return (int)res;
    }
}
复制代码

总结:

无官方题解。

staircase 楼梯


相关推荐
sjsjs114 分钟前
【数据结构-单调队列】力扣1438. 绝对差不超过限制的最长连续子数组
数据结构·算法·leetcode
我自飞扬临天下12 分钟前
Elasticsearch操作笔记版
java·笔记·elasticsearch
NHuan^_^1 小时前
RabbitMQ基础篇之Java客户端 基于注解声明队列交换机
java·rabbitmq·java-rabbitmq
NHuan^_^1 小时前
RabbitMQ基础篇之Java客户端 消息转换器
java·rabbitmq·java-rabbitmq
小汤猿人类1 小时前
RabbitMQ案例
java·rabbitmq·java-rabbitmq
Cikiss1 小时前
微服务实战——购物车模块实战
java·开发语言·后端·spring·微服务·springcloud
程序猿进阶1 小时前
大循环引起CPU负载过高
java·开发语言·后端·性能优化·并发编程·架构设计·问题排查
xmh-sxh-13141 小时前
网关的主要类型和它们的特点
java
李老头探索2 小时前
深入解析 JVM vs JDK vs JRE:三者区别与联系详解
java·开发语言·jvm
zfj3212 小时前
学英语学压测:01开源压测工具jmeter能干什么
java·jmeter·压力测试·负载·压测工具