蓝桥杯每日一练——爬楼梯 python

蓝桥杯学习记录-基础练习 注:每天都更新哦~,题目下面的代码都是经过测试正确的,欢迎有更好算法的大神指正,我会把您的代码也附上,相互学习。 蓝桥杯-基础练习:所有题 十六进制转八进制 进制转换 字符 循环 十六进制转十进制 进制转换 字符处理 判断 十进制转十六进制 循环 整除 求余 判断 特殊回文数 回... 阅读详情

问题描述
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
示例 1:
输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。

  1. 1 阶 + 1 阶
  2. 2 阶

示例 2:
输入:n = 3 输出:3 解释:有三种方法可以爬到楼顶。

  1. 1 阶 + 1 阶 + 1 阶
  2. 1 阶 + 2 阶
  3. 2 阶 + 1 阶

提示:

1 <= n <= 45

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/climbing-stairs
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

import time
# 方法一 这个方法算45要算到明年
n = int(input())
count = 0
start = time.time()
def back(n):
    global count
    if n <= 0:
        count += 1
        return
    if n >= 2:
        for i in range(1,3):
            n -= i
            back(n)
            n += i
    else:
        count += 1
        return
back(n)
print(count)
print(time.time()-start)

# 方法二 好像算45也没有很快 方法二是网上教学的解法
n = int(input())
count = 0
start = time.time()
def back(n):
    if n == 1:
        return 1
    elif n == 2:
        return 2
    else:
        return back(n-1)+back(n-2)

print(back(n))
print(time.time()-start)

两个方法都采用了递归的方式,但是方法二采用了观察规律的解法,更加高效

算法竞赛进阶指南:从每日一题到国赛实战的系统训练方法论 算法与数据结构是计算机科学的核心基础,其原理在于通过高效的数据组织和计算策略解决复杂问题。掌握它们的技术价值在于能显著提升逻辑思维、问题抽象和工程实现能力,广泛应用于搜索引擎、推荐系统、自动驾驶等高性能场景。本文聚焦算法竞赛训练,深入剖析如何通过系统化的‘每日一题’实践,构建个人知识图谱,并运用动态规划、二分查找等关键技术进行单题精解与优化,最终将日常积累转化为国赛级别的团队协作与实战能力,为参赛者提供从量变到质变的完整成长路径。 阅读详情

相关推荐

蓝桥杯极限冲刺:一周高效备赛策略与实战技巧

算法竞赛是检验编程与问题解决能力的重要舞台,其核心在于对数据结构和算法的掌握与应用。理解常见算法的基本原理,如动态规划的状态转移、搜索算法的遍历框架,是构建解题能力的基础。这些技术能显著提升代码效率与逻辑严谨性,在解决复杂计算问题时价值巨大,广泛应用于软件开发、数据分析等领域。针对时间紧迫的备赛场景,本文聚焦于如何通过真题驱动与专题突破,高效提升得分能力。文中融入了对动态规划(DP)和深度/广度优先搜索(DFS/BFS)等核心算法的实战化训练指导,帮助参赛者在有限时间内实现能力冲刺。

weixin_33883104的博客 286

leetcode | 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

假设你正在爬楼梯。需要n阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定n是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. ...

cong____cong的博客 1万+

Python解决N级台阶走法问题

对于第i级台阶,我们可以从第i-1级台阶走一步到达,也可以从第i-2级台阶走两步到达。因此,到达第i级台阶的走法数量为dp[i-1]+dp[i-2]。我们可以定义一个长度为N+1的数组dp,其中dp[i]表示到达第i级台阶的不同走法的数量。根据递推关系,我们可以使用循环来计算dp数组的值,从dp[2]开始到dp[N],最后返回dp[N]即可。假设有N级台阶,一个人每次可以走1级或2级,问有多少种不同的走法可以到达第N级台阶?因此,对于一个有5级台阶的情况,有8种不同的走法可以到达第5级台阶。

Meta_C的博客 1136

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

这道题目和动态规划:斐波那契数题目基本是一样的,但是会发现本题相比动态规划:斐波那契数难多了,为什么呢?关键是动态规划:斐波那契数题目描述就已经把动规五部曲里的递归公式和如何初始化都给出来了,剩下几部曲也自然而然的推出来了。而本题,就需要逐个分析了,大家现在应该初步感受出关于动态规划,你该了解这些!里给出的动规五部曲了。简单题是用来掌握方法论的,例如昨天斐波那契的题目够简单了吧,但昨天和今天可以使用一套方法分析出来的,这就是方法论!

Lowjin_的博客 2715

蓝桥杯实战应用【赛题解析篇】-小白上楼梯(递归设计)(附python、C++和Java代码)

小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶,3阶。实现一个方法,计算小白有多少种上楼梯的方式。

qq_36130719的博客 564

MATLAB随机生成m个三维坐标点,且各个坐标点之间的距离不小于n

randi函数 randi(max,m,n); %生成均匀分布的随机整数,max生成的随机整数最大值,生成m行n列的矩阵 编写函数sampling function [x,y,z]=sampling(lowx,upx,lowy,upy,lowz,upz,m,n) %该函数用来产生不重复的随机整数矩阵 %low—随机整数下界;up—随机整数上界;m—坐标点个数;n—各个坐标点之间的最小距离 %编...

qq_45384561的博客 9436

蓝桥杯国赛冲刺:从算法基础到每日一练的系统化路径

算法是计算机科学的核心,它通过一系列明确的指令解决特定问题,其效率由时间与空间复杂度衡量。理解算法原理,如分治、动态规划、贪心等思想,是构建高效程序的基础。掌握数据结构,如数组、链表、哈希表,是算法实现的物理载体。在工程实践中,算法能力直接决定了软件的性能上限与问题解决能力,尤其在数据处理、人工智能、搜索引擎等场景中至关重要。对于参加蓝桥杯等算法竞赛的开发者而言,系统化的知识体系与持续的刻意练习是提升竞争力的关键。本文聚焦于如何通过高效的“每日一练”方法,将算法基础与核心思想应用于竞赛准备,其中涉及对动态规

congsikuai0611的博客 406

使用 Mid360 从零开始搭建实物机器人入门级导航系统 —— 基于 Fast_Lio 和 Move_Base

本文详细介绍了如何使用Mid360机器人从零开始搭建一个基于Fast_Lio和Move_Base的入门级导航系统。通过配置 ROS2、集成激光雷达、IMU、Fast_Lio、Move_Base 等模块,我们成功构建了一个能够实现自动导航的机器人系统。在实际开发中,随着需求的变化,你可以不断调整参数、优化路径规划算法、增加新的传感器等,逐步提升机器人的智能与功能。

小蜗牛的珍贵百宝箱 3564

蓝桥杯Python组备赛全攻略:从零基础到省奖,我的刷题笔记与工具清单

本文分享了从零基础到获得蓝桥杯Python组省赛二等奖的完整备赛经验,包括基础语法学习、算法攻坚策略、高效刷题方法和赛场实战技巧。重点解析了动态规划、贪心算法等高频考点,并提供实用的工具清单和错题本模板,帮助参赛者系统提升编程能力。

weixin_30859423的博客 377

WinServer 2012 R2 搭建 AD 单域多站点 及 DNS各站点的子网掩码排序调整

WinServer 2012 R2 搭建 AD 单域多站点 及 DNS各站点的子网掩码排序调整

一直被模仿,从未被超越 5533

3线SWD接线终极指南:用Jlink调试非3.3V设备的5个关键细节

本文详细解析了使用Jlink调试非3.3V设备时,3线SWD接线的5个关键细节。核心在于正确理解并连接Vref引脚以实现电压适配,避免供电冲突,并掌握精简接线法与固件修复技巧。文章以STM32F205等芯片为例,指导开发者安全、高效地进行混合电压调试。

e4f5g6h7的博客 437

蓝桥杯国赛冲刺:每日一题体系化训练与核心算法突破

算法竞赛是检验编程与逻辑思维能力的有效途径,其核心在于对经典算法和数据结构的掌握与应用。从基础语法、数据结构到动态规划、深度优先搜索等高级算法,理解其原理是构建解题能力的基础。这些技术不仅具有理论价值,更是解决复杂工程问题、优化计算效率的关键,广泛应用于软件开发、人工智能、数据分析等领域。对于备战蓝桥杯等权威赛事的选手而言,通过“每日一题”进行系统性、分阶段的训练,能够有效巩固【动态规划】与【深度优先搜索】等核心考点,将分散的知识点串联成网,逐步提升从问题抽象、算法设计到代码实现的综合能力,最终实现竞赛成绩

weixin_33966095的博客 639

【iOS开发】dyld: Symbol not found: ___chkstk_darwin 问题解决

【iOS开发】dyld: Symbol not found: ___chkstk_darwin 问题解决 Xcode 13.2.1 运行到iOS12.x版本上崩溃报错如下:dyld: Symbol not found: ___chkstk_darwin dyld: Symbol not found: ___chkstk_darwin Referenced from: /private/var/containers/Bundle/Application/A424CEFD-51DB-450E-9D62-B8

wm9028的专栏 6563

从语法到DP:一个普通大学生的蓝桥杯备赛全记录(附C++/Java/Python学习资源)

本文记录了一位普通大学生从零基础到获得蓝桥杯省级一等奖的完整备赛历程。文章详细分享了C++/Java/Python语言选择策略、数据结构学习技巧、动态规划突破方法以及竞赛实战经验,特别提供了针对蓝桥杯的学习路线和关键注意事项,适合算法竞赛初学者参考。

weixin_33675507的博客 413

备战2025数学建模国赛(算法46):多目标优化

本篇博客将深入浅出地介绍多目标优化的核心概念、主流算法,并重点结合一个数学建模竞赛的经典案例,提供完整的Python代码实现,助你在未来的竞赛中游刃有余。它通过寻找帕累托最优解集,完美地诠释了“鱼与熊掌不可兼得”的权衡思想,为最终决策提供科学依据。这些问题都包含多个相互冲突的目标,传统的单目标优化方法(如梯度下降、单纯形法)对此无能为力,因为它们无法同时优化多个目标。在数学建模竞赛中,我们面临的绝大多数问题都不是单一的“最好”,而是充满权衡与妥协的“最优”。记住,成功的建模不仅在于解出问题,更在于清晰地。

YOLO 285

学Simulink——基于新型动力与推进系统的场景实例:混合动力无人机的续航能力优化

通过本次 Simulink 仿真,你已掌握:✅混合动力系统架构设计✅内燃机、电机、电池联合建模✅三种能量管理策略(规则型、功率跟随、优化型)✅续航能力仿真与对比分析✅参数调优与优化方法核心收获混合动力是突破续航瓶颈的有效路径能量管理策略(EMS)决定系统效率电池SOC管理是关键Simulink 支持复杂多能源系统的协同仿真掌握混合动力无人机技术,你将具备设计长航时巡检机、应急通信平台、边境巡逻系统的能力。

xiaoheshang_123的博客 100

蓝桥杯 Java 组备赛:从 0 到省一的 4 个月学习路径与 100+ 题单规划

本文详细介绍了蓝桥杯 Java 组备赛的四个月高效学习路径,从基础语法到算法思维突破,再到真题实战冲刺,提供100+精选题单和资源推荐。适合零基础学生系统备赛,帮助实现从0到省一的突破,特别强调Java语法筑基和算法专题训练的重要性。

weixin_34318272的博客 429

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

蓝桥杯最后三天冲刺:真题复盘、全真模拟与考场策略全解析

算法竞赛是检验编程能力与解决问题思维的重要平台,其核心在于对数据结构和算法的掌握与应用。理解递归、动态规划、搜索等基础算法原理,是构建高效解题框架的关键。这些技术不仅能提升代码效率,更在实际工程中用于优化系统性能、处理海量数据。在诸如蓝桥杯等竞赛的冲刺阶段,高效的复习策略与稳定的临场发挥至关重要。通过系统性的真题复盘和全真模拟,选手可以巩固知识体系,演练时间分配,并针对常见陷阱如全局变量未初始化、Python递归深度限制等进行专项规避,从而在考场上将已有技能稳定兑现,最大化竞赛表现。

weixin_33851604的博客 378

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

第67课 递推 《信息学奥赛一本通 编程启蒙 C++版》

第67课 递推 《信息学奥赛一本通 编程启蒙 C++版》

青少年趣味编程 640

动态规划入门:从打家劫舍问题解析状态定义与转移方程

动态规划是算法竞赛与软件工程中的核心优化技术,其核心思想是通过定义状态和状态转移方程,将复杂问题分解为重叠子问题,避免重复计算,从而高效求解最优解。其技术价值在于能够将指数级时间复杂度的暴力搜索优化为多项式时间复杂度,是解决最优化问题的利器。在工程实践中,动态规划广泛应用于资源分配、路径规划、序列分析等场景。本文以经典的“打家劫舍”问题及其变种(如环形街道、树形结构)为切入点,深入剖析了动态规划中的状态定义、状态转移方程、初始化及空间优化等关键步骤,并延伸至蓝桥杯等算法竞赛的备战策略,帮助读者掌握解决一类动

leonard61306500的专栏 398

leetcode:70. 爬楼梯

题目: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1 阶 + 1 阶 + 1 阶 1 阶 + 2 阶 2 阶 + 1...

qq_24516549的博客 483

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?(PHP 递推,动态规划)

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 递推规则详解 在一个2XN的长方形方格中铺满1X2的骨牌的方案。我们用f[i]表示2Xi的方格铺满骨牌的方案数,那么考虑第i列,要么竖着放置一个骨牌;要么连同i-1列,横着放置两个骨牌,如图2所示。由于骨牌的长度为1X2,所以在第i列放置的骨牌无法影响到第i-2列。很显然,图一 -1-2中两块黑色的部分分别表示f[i-1]和f[i-2],所以可以得到递推.

wyisgoodman的博客 1767

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?【LeetCode Hot 100】

力扣热题100之第70题: 先贴代码: class Solution { public int climbStairs(int n) { //爬完n阶所需的方法:f(n) = f(n-1) + f(n-2) int a = 0; //定义a为n-2阶需要的方法数 int b = 0; //定义b为n-1阶需要的方法数 int method = 1; //method为n阶需要的方法数 //i为当前的阶数,从第

小型骷髅的博客 9182

算法刷题——爬楼梯

本题为LeetCode第70题爬楼梯,题目如下:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?当剩下个台阶的时候只有种方法当剩下个台阶的时候只有种方法1==>1 或者 2当剩下个台阶的时候只有种方法1==>1==>1 或者 1==>2 或者 2==>1当剩下个台阶的时候只有种方法推到 可知所以 可以推出。

Florenza的博客 1459
上一篇: python:已有数据的列表添加列表推导式
下一篇: 蓝桥杯每日一练——阶乘计算 python
LRY___
博客等级 码龄6年 1565粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值