当前位置:网站首页>Algorithm -- climbing stairs (kotlin)
Algorithm -- climbing stairs (kotlin)
2022-07-06 05:22:00 【Xiaomi technology Android research and development caoxinyu】
subject
Suppose you're climbing the stairs . need n You can reach the top of the building .
Every time you climb 1 or 2 A stair . How many different ways can you climb to the top of the building ?
Example 1:
Input :n = 2
Output :2
explain : There are two ways to climb to the top .
1. 1 rank + 1 rank
2. 2 rank
Example 2:
Input :n = 3
Output :3
explain : There are three ways to climb to the top .
1 rank + 1 rank + 1 rank
1 rank + 2 rank
2 rank + 1 rank
Tips :
1 <= n <= 45
https://leetcode.cn/problems/climbing-stairs/
Solutions
- In fact, the conventional solution of this problem can be divided into several subproblems , Climb the first n The number of ways to step stairs , be equal to 2 The sum of parts
Climb up n-1 The number of ways to step stairs . Because climb again 1 You can get to the third level n rank
Climb up n-2 The number of ways to step stairs , Because climb again 2 You can get to the third level n rank
So we get the formula dp[n] = dp[n-1] + dp[n-2]
At the same time, you need to initialize dp[0]=1 and dp[1]=1d
Time complexity :O(n)
2. since dp[n] = dp[n-1] + dp[n-2]
Then we can use sliding array to solve it
resolvent
fun climbStairs(n: Int): Int {
val intArray = IntArray(n + 1)
intArray[0] = 1
intArray[1] = 1
for (i in 2..n) {
intArray[i] = intArray[i - 1] + intArray[i - 2]
}
return intArray[n]
}
fun climbStairs2(n: Int): Int {
var q = 1
var p = 1
var result = 1
for (i in 2..n) {
result = q + p
q = p
p = result
}
return result
}
summary
1. I didn't figure out how to do this problem
I read the solution of the problem before I worked it out
边栏推荐
- 關於Unity Inspector上的一些常用技巧,一般用於編輯器擴展或者其他
- 毕业设计游戏商城
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- Some common skills on unity inspector are generally used for editor extension or others
- Three methods of Oracle two table Association update
- Pagoda configuration mongodb
- [leetcode] 18. Sum of four numbers
- Sliding window problem review
- 指针经典笔试题
- Postman Association
猜你喜欢

RT thread analysis - object container implementation and function

剑指 Offer II 039. 直方图最大矩形面积

Fuzzy -- basic application method of AFL

Vulhub vulnerability recurrence 67_ Supervisor

Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example

02. 开发博客项目之数据存储

【OSPF 和 ISIS 在多路访问网络中对掩码的要求】

js Array 列表 实战使用总结

February 12 relativelayout

Steady, 35K, byte business data analysis post
随机推荐
EditorUtility. The role and application of setdirty in untiy
js Array 列表 实战使用总结
Fiddler installed the certificate, or prompted that the certificate is invalid
Pickle and savez_ Compressed compressed volume comparison
01. 开发博客项目之项目介绍
Talking about the type and function of lens filter
Configuration file converted from Excel to Lua
Oracle deletes duplicate data, leaving only one
Questions d'examen écrit classiques du pointeur
Simple understanding of interpreters and compilers
Zoom and pan image in Photoshop 2022
Ad20 is set with through-hole direct connection copper sheet, and the bonding pad is cross connected
Implementing fuzzy query with dataframe
Check the useful photo lossless magnification software on Apple computer
Figure database ongdb release v-1.0.3
C AES encrypts strings
Driver development - hellowdm driver
CUDA11.1在线安装
Postman assertion
TCP three handshakes you need to know