小工具知识网

当前位置: 首页 > 行业知识 > 备赛蓝桥杯-算法-动态规划

行业知识

备赛蓝桥杯-算法-动态规划

2026-11-07 08:10:43 来源:互联网转载

一、简单

1.爬楼梯

题���:

假设你正在爬楼梯。需要 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 1 -> 100 -> 4

    2.1 ->11 >>1 ->110 ->6

    3.&与运算,遍历每一位二进制数,都为1则结果为1,其它结果均为0

    4.| 或运算,遍历每一位二进制数,两者有一方为1则结果都为1,只有两方都为0,结果才为0

    5.^异或运算,遍历每一位二进制数,相异为1,相同为0

    6.~取反运算,遍历每一位二进制数,1变0,0变1

    class Solution {    public int[] countBits(int n) {        int[] num=new int[n+1];        for(int i=0;i>1]+(i&1);        }        return num;    }}

    6.使用最小花费爬楼梯

    题目:

    给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。

    你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。

    请你计算并返回达到楼梯顶部的最低花费。

    示例 1:

    输入:cost = [10,15,20]输出:15解释:你将从下标为 1 的台阶开始。- 支付 15 ,向上爬两个台阶,到达楼梯顶部。总花费为 15 。

    示例 2:

    输入:cost = [1,100,1,1,1,100,1,1,100,1]输出:6解释:你将从下标为 0 的台阶开始。- 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。- 支付 1 ,向上爬两个台阶,到达下标为 4 的台阶。- 支付 1 ,向上爬两个台阶,到达下标为 6 的台阶。- 支付 1 ,向上爬一个台阶,到达下标为 7 的台阶。- 支付 1 ,向上爬两个台阶,到达下标为 9 的台阶。- 支付 1 ,向上爬一个台阶,到达楼梯顶部。总花费为 6 。

    提示:

    • 2

上一篇:怎么运行打开服务器?

下一篇:presenter英语怎么自然拼读?