剑指offer 10---跳台阶和变态跳台阶

国际项目投标那些事(三)海外项目招标文件的组成 以一个实际的项目作为例子,是我2020年初投的一个东南亚国家的水厂的竞争性投标。这个投标的招标基于FIDIC yellow book (Design and Build) 合同模板。 海外项目的招标一般是有专门的咨询公司(consulting engineer)写招标文件,有的咨询公司非常专业,对于技术、合同、业绩的要求非常细致。 我这个项目的招标文件共5册 400多页(全英文),附件26册将... 阅读详情

一题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

# -*- coding:utf-8 -*-
#一共多少层  1, 2, 3, 4, 5,  6,  7---
#多少种跳法  1, 2, 3, 5, 8, 13, 21---
class Solution:
    def jumpFloor(self, number):
        # write code here
        a=1
        b=2
        if number==1:
            return a
        if number==2:
            return b
        for i in range(number-1):
            a,b=b,a+b
        return a

二题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

# -*- coding:utf-8 -*-
#一共多少层  1, 2, 3, 4, 5,  --
#多少种跳法  1, 2, 4, 8, 16, ------
#f(n) = f(n-1)+f(n-2)+…+f(1)
#f(n-1) = f(n-2)+ f(n-3)…+f(1)
#两式相减,得到f(n) = 2f(n-1).

class Solution:
    def jumpFloorII(self, number):
        # write code here
        if number <= 0:
            return 0
        if number == 1:
            return 1
        if number == 2:
            return 2
        dp=[0]*(number+1)
        for i in range(2,n+1):
            dp[i[=2*dp[i-1]
        return dp[-1]

class Solution:
    def jumpFloorII(self, number):
        # write code here
        if number <= 0:
            return 0
        else:
            return pow(2,number-1)
            #return 2**(number-1)

从零构建简历智能匹配系统:AI技术助力高效招聘 本文详细介绍了简历智能匹配系统的开发过程,从数据收集、预处理、特征提取到模型匹配和结果展示,每一步都提供了详细的代码实例。通过使用TF-IDF、Word2Vec和BERT等技术,我们能够有效地将求职者的简历与职位描述进行匹配,从而提高招聘效率。未来,随着自然语言处理技术的进一步发展,简历智能匹配系统将变得更加智能和高效,为企业和求职者提供更好的服务。 阅读详情

相关推荐

Ceres-solver examples之pose_graph_3d学习笔记

Ceres-solver examples之pose_graph_3d学习笔记简要说明变量说明关键步骤一、Costfunction的搭建其中包括:二、构造Problem 简要说明 ceres-solver库是google的非线性优化库,可以对slam问题,机器人位姿进行优化,使其建图的效果得到改善。pose_graph_3d是官方给出的二维平面上机器人位姿优化问题,需要读取一个g2o文件,运行程序...

幽冥小龙的博客 3890

【剑指offer面试题】跳台阶升级版,变态跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:我们已经完成了青蛙一次只能跳上1,2层台阶的面试题,见【剑指offer面试题】青蛙跳台阶 那么它的升级版,变态跳台阶又怎么办呢。 我们先梳理几个底层有多少种跳法: 1层台阶, 1 1种 2层台阶,11,2 2种 3层台阶,111,12,21,3 4种 ...

坚持不懈做贡献 1120

U-net复现pytorch版本 以及制作自己的数据集并训练

GitHub链接: https://github.com/milesial/Pytorch-UNet 论文链接:

candice5566的博客 3万+

汉诺塔和青蛙跳台阶(递归函数的应用)

汉诺塔和青蛙跳台阶(递归函数的应用) 1. 汉诺塔 从数学角度来看 如下图所示,从左到右有A、B、C三根柱子,其中A柱子上面有从小叠到大的n个圆盘,现要求将A柱子上的圆盘移到C柱子上去,期间只有一个原则:一次只能移到一个盘子且大盘子不能在小盘子上面,求移动的步骤和移动的次数 (1)n == 1       第1次 1号盘 A----&amp;gt;C sum =...

yulong__li的博客 752

SpyGlass Lint脚本实战:如何用TCL自动化RTL代码检查(附完整配置模板)

本文详细介绍了如何利用TCL脚本实现SpyGlass Lint工具的自动化RTL代码检查。通过构建模块化、工程化的脚本框架,文章提供了从环境搭建、核心配置、规则定制到豁免管理的完整实战指南,并附有可复用的配置模板,旨在帮助IC设计工程师构建高效、一致的代码质量检查流水线。

weixin_29204205的博客 136

【自动驾驶端到端5:VADv2: End-to-End Vectorized Autonomous Driving via Probabilistic Planning】

从大规模人类驾驶演示中学习类人驾驶策略是有希望的。但是,规划的不确定性使得从驾驶演示中提取驾驶知识是有挑战性的。从统计学习的角度来看,动作(包括实际和速度)是高度随机的,受许多无法建模的潜在因素影响。

weixin_40000560的博客 1405

《剑指offer》递归和迭代三道题:8 9 10斐波那契数列&(变态)跳台阶

题目一 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 递归解法 class Solution { public: int Fibonacci(int n) { if(n&amp;amp;amp;lt;=0) { return 0; } else if(n&amp;amp;amp;lt;3) ...

xiangxianghehe的博客 387

【目标跟踪】多目标跟踪的评价工具motmetrics怎么使用?

多目标跟踪,通过motmetrics测试评价对应的视频。

聿默的博客 5368

刷题之旅第一天

这里写自定义目录标题刷题之旅第一天新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 刷题之旅第一天 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读

RickyGuo00的博客 167

C++多线程 task--std::promise和std::future

本文主要讲解C++11/14/17中所提供的应用于多线程编程中的Task机制。Task可由如下几部分取得而本文主要讲解std::promise和std::future相关的内容。std::promise和std::future通过一个数据管道进行交流,可以将std::promise看作生产者,std::future看作消费者,其两者形成如下的方式交互std::promise本身是一个模版类,通过std::promise可以像数据管道中设置value,异常和相应的通知信息。std::promise提供了如下接

qls315的博客 1818

1、JMP脚本编程全面指南:从基础到高级应用

本博客全面介绍了JMP脚本编程的各个方面,从JMP基础和JSL入门,到数据类型、数据结构、编程方法、数据表操作、图形与三维场景脚本,再到应用程序创建与扩展功能。内容涵盖脚本工具使用、常见任务实现、兼容性说明及未来发展趋势,旨在帮助用户掌握JMP脚本语言的强大功能,提升数据分析的自动化与定制化能力。适合从初学者到高级用户的深入学习与实践参考。

flink9streamer的博客 266

【剑指offer】10-2 变态跳台阶

10-2 变态跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 变态跳台阶问题,是斐波那契额数列 青蛙跳台阶 跳楼梯问题的变形。 假设当前在3台阶,那么可能从0级跳到3台阶 1台阶到3台阶 2台阶到3台阶 3台阶到3台阶。 f(3) = f(1)+f(2)+f(3) f(1) = 1 f(2) = 2 f(3) = 1+2+1 1.暴力解 public int JumpFloorII(int target) { if(tar

芝兰生于深谷,不以无人而不芳 607

零基础学习CANoe Panel(17)—— Panel CAPL Function

CANoe内置了几个CAPLFunction,允许我们在CAPL运行时动态的更改Panel控件的属性,比如打开某个panel,禁用某个控件,更改控件颜色等。

蚂蚁小兵 3519

《剑指Offer》Java刷题 NO.8 跳台阶&NO.9 变态跳台阶

《剑指Offer》Java刷题 NO.8 跳台阶&NO.9 变态跳台阶 传送门:《剑指Offer刷题总目录》 时间2020-02-11 题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路:其实就是第七题斐波那契数列的一个应用,只不过初始值f(1)=1;f(2)=2; 青蛙跳上第n级台阶只有两种方式,从第n-...

qq_39618369的博客 214

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【剑指Offer】变态跳台阶

文章目录题目描述解法1实现代码解法2实现代码解法3实现代码 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 解法1 本题是【剑指Offer】跳台阶的进化版本。 原来的青蛙只可以跳上1级或2级,即F(n) = F(n - 1) + F(n - 2) 现在的青蛙可以跳上1到n的任意级,按照之前的解题思路,依然先来看F(n),对于...

ZhangLei的博客 259

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【剑指Offer】10.4 变态跳台阶

数学问题,一行代码即可 易知 f(n)=f(n-1)+f(n-2)+……f(1) f(n-1)=f(n-2)+……f(1) 两式相减得 f(n)=2f(n-1) 而 f(1) = 1 所以 f(n) = pow(2, n - 1) 由此得出: public class Solution { public int JumpFloorII(int target) { return target <= 0 ? 0 : 1 << (target - 1); } } 2的n次方 求

瑞新の博客:bennyrhys 947

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

CS-Notes 剑指 Offer 动态规划:跳台阶问题的递推建模与 O(1) 空间解法

本文基于 CS-Notes 仓库中「剑指 Offer」动态规划专题的跳台阶题解,围绕"青蛙每次跳 1 级或 2 级台阶,求跳上 n 级台阶的跳法总数"这一问题展开:从递推公式的推导、朴素递归的缺陷,到滚动变量实现的空间优化,完整给出可复现的 Java 解法,并串联斐波那契数列、矩形覆盖、变态跳台阶三道同型题目,帮助读者掌握"递推建模范式"与"O(1) 空间动态规划"两类面试核心能力。 ## 一、

gitblog_00371的博客 613

剑指offer九:变态跳台阶

一、题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 二、解题思路 可以延续上一题的思路,逆向思维来考虑这个问题。要想跳到第n级台阶,就可以从第n-1级、第n-2级、***、第1级 跳到第n级,再加上直接从地面到第n级的一种情况。 将问题分解为求子问题这是递归。所以有如下三种方法: ...

m0_37564426的博客 316

《剑指Offer》10.4 变态跳台阶

题目链接 牛客网 题目描述 一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级… 它也可以跳上 n 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 解题思路 动态规划 public class Solution { public int JumpFloorII(int n) { if (n<=2) return n; int[] res = n...

Melo 319

8.剑指Offer-斐波那契数列、跳台阶、矩形覆盖、变态跳台阶

8.1斐波那契数列 题目描述 求斐波那契数列的第 n 项,n &lt;= 39。 解题思路 如果使用递归求解,会重复计算一些子问题。例如,计算 f(10) 需要计算 f(9) 和 f(8),计算 f(9) 需要计算 f(8) 和 f(7),可以看到 f(8) 被重复计算了。 递归是将一个问题划分成多个子问题求解,动态规划也是如此,但是动态规划会把子问题的解缓存起来,从而避免...

璀璨下的一点星辰 225

剑指offer-递归系列问题

这篇讲述的是剑指offer上的递归使用的问题,包括斐波那契数列、跳台阶以及它的进阶版变态跳台阶问题 斐波那契数列 题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 class Solution { public: int Fibonacci(int n) { int f1=1,f2=1; ...

lazymanxxx的博客 261

剑指offer:面试题10——变态跳台阶

剑指offer:面试题10——变态跳台阶 题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:除了最后一个台阶必须跳,其他每个台阶有跳或不跳两种选法,所以共有2^(n-1)种方法 class Solution { public: int jumpFloorII(int number) { int su...

MereX的博客 374

10.2 青蛙跳台阶问题与矩形覆盖问题

文章目录剑指offer 10-II 青蛙跳台阶问题 LeetCode70解法一:递归方式解法二:循环方式解法三:动态规划青蛙变态台阶与矩形覆盖(剑指offer第十题后面的扩展题)青蛙变态跳台阶解题思路Java代码矩形覆盖解题思路Java代码斐波那契循环写法动态规划写法 剑指offer 10-II 青蛙跳台阶问题 LeetCode70 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:10000

YouMing_Li的博客 677

剑指offer:(8-10)斐波那契数列的应用——跳台阶和矩阵覆盖问题

关于斐波那契数列的相关解法在前面已写过,不再多说,主要介绍相关应用的题,其本质均为斐波那契数列,只是“穿了个马甲”而已。 8.跳台阶 问题描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 a.由题意可知,只有两种跳法,1阶或者2阶。那么假定第一次跳的是一阶,那么剩下还有n-1个台阶,跳法是f(n-1); b.假...

qq_35423500的博客 352

剑指Offer10 | LeetCode 509 斐波那契数列系列(Python)

剑指Offer 10 | LeetCode 509 斐波那契数列 斐波那契数列,经典中的经典,这里不做太多介绍了。 递归 常年作为循环的反面教材,时间复杂度以n的指数递增。 def fib(n): if n <= 0: return 0 if n == 1: return 1 return fib(n-1) + fib(n-2) 循环 时间复杂度O(n)。 cl...

ChungChinKei' blog 487

变态跳台阶[剑指offer]之python实现

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。题目链接# -*- coding:utf-8 -*- class Solution: def jumpFloorII(self, number): # write code here ans=[]; ans.append(0);

我心中有猛虎 细嗅蔷薇 2700
上一篇: 剑指offer----旋转数组的最小数字
下一篇: 剑指offer--矩形覆盖
one_zero_one
博客等级 码龄7年 30粉丝 141原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值