面试题 08.01. 三步问题

这篇具有很好参考价值的文章主要介绍了面试题 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 楼梯文章来源地址https://www.toymoban.com/news/detail-693712.html


到了这里,关于面试题 08.01. 三步问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023-08-01 LeetCode每日一题(英雄的力量)

    点击跳转到题目位置 给你一个下标从 0 开始的整数数组 nums ,它表示英雄的能力值。如果我们选出一部分英雄,这组英雄的 力量 定义为: i 0 ,i 1 ,… i k 表示这组英雄在数组中的下标。那么这组英雄的力量为 max(nums[i0],nums[i1] … nums[ik])2 * min(nums[i0],nums[i1] … nums[ik]) 。 请你

    2024年02月14日
    浏览(61)
  • LeetCode三步问题(动态规划)

    链接: 三步问题 编写代码 代码优化

    2024年02月15日
    浏览(41)
  • LeetCode 面试题 02.08. 环路检测

      给定一个链表,如果它是有环链表,实现一个算法返回环路的开头节点。若环不存在,请返回 null 。   如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索

    2024年02月10日
    浏览(35)
  • LeetCode 面试题 16.08. 整数的英语表示

      给定一个整数,打印该整数的英文描述。 示例 1: 输入: 123 输出: “One Hundred Twenty Three” 示例 2: 输入: 12345 输出: “Twelve Thousand Three Hundred Forty Five” 示例 3: 输入: 1234567 输出: “One Million Two Hundred Thirty Four Thousand Five Hundred Sixty Seven” 示例 4: 输入: 1234567891 输出: “One Billi

    2024年02月06日
    浏览(34)
  • LeetCode 面试题 04.08. 首个共同祖先

      设计并实现一个算法,找出二叉树中某两个节点的第一个共同祖先。不得将其他的节点存储在另外的数据结构中。注意:这不一定是二叉搜索树。   例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]   点击此处跳转题目。 示例 1: 输入: root = [3,5,1,6,2,0,8,null,null,7,

    2024年02月08日
    浏览(38)
  • LeetCode 面试题 17.08 —— 马戏团人塔

    首先,我们对人的身高按照从小到大排序, 特别注意,对于身高相等的人,要按照体重从高到低排序 。这时候,序列已经满足了在上面的人要比下面的人矮一点,然后,我们只需要保证提取到一个最长的体重的上升子序列即可。这一步骤也就是 LeetCode 300——最长上升子序列

    2024年04月28日
    浏览(29)
  • 【每日一题】Leetcode - 面试题 17.08. Circus Tower LCCI

    Leetcode - 面试题 17.08. Circus Tower LCCI Sorting heights to be ascending order and weights to be descending order. dp[i] = j represents person[i] as the bottom of tower, the tower height is amount of j, to calculate the dp[i] we find the maximum of dp[0 ~ (i-1)] what the person[0 ~ (i-1)] shorter and lighter than person[i], increase it of one, it’s th

    2024年02月13日
    浏览(45)
  • LeetCode 面试题 01.01. 判定字符是否唯一

      实现一个算法,确定一个字符串 s 的所有字符是否全都不同,点击此处跳转。 示例 1: 输入: s = “leetcode” 输出: false 示例 2: 输入: s = “abc” 输出: true 限制: 0 = len(s) = 100 s[i] 仅包含小写字母 如果你不使用额外的数据结构,会很加分。   使用数组记录出现次数,时

    2024年02月12日
    浏览(36)
  • LeetCode 面试题 01.07. 旋转矩阵

      给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。   不占用额外内存空间能否做到?   点击此处跳转题目。 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5,2], [9,6,3] ] 示

    2024年02月11日
    浏览(54)
  • leetcode 面试题 01.03. URL化

    🌟 leetcode链接:面试题 01.03. URL化 思路: 计算出空格的个数,我们可以知道最后一个字符的位置 endPos ,再从后 end 向前遍历若不是空格正常拷贝,是空格则替换成 %20 ,最终当空格替换完成的时候, endPos 和 end 两个下标会相遇。 代码:

    2024年02月15日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包