当前位置:网站首页>The 29th day of force deduction (DP topic)
The 29th day of force deduction (DP topic)
2022-07-03 20:01:00 【NP_ hard】
List of articles
problem Ⅰ
509. Fibonacci Number
The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from 0 and 1. That is,
F(0) = 0, F(1) = 1
F(n) = F(n - 1) + F(n - 2), for n > 1.
Given n, calculate F(n).
Example 1:
Input: n = 2
Output: 1
Explanation: F(2) = F(1) + F(0) = 1 + 0 = 1.
Example 2:
Input: n = 3
Output: 2
Explanation: F(3) = F(2) + F(1) = 1 + 1 = 2.
Example 3:
Input: n = 4
Output: 3
Explanation: F(4) = F(3) + F(2) = 2 + 1 = 3.
solution DP
class Solution {
public:
int fib(int n) {
if(!n)return 0;
if(n==1)return 1;
int st = 0, nd = 1;
n--;
while(n--){
int tmp = nd;
nd = st + nd;
st = tmp;
}
return nd;
}
};

NOTE:
this probem’s difficulty is easy, my solution use two temporary variables to store the status of DP
problem Ⅱ
1137. N-th Tribonacci Number
The Tribonacci sequence Tn is defined as follows:
T0 = 0, T1 = 1, T2 = 1, and Tn+3 = Tn + Tn+1 + Tn+2 for n >= 0.
Given n, return the value of Tn.
Example 1:
Input: n = 4
Output: 4
Explanation:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4
Example 2:
Input: n = 25
Output: 1389537
solution 1 DP
class Solution {
public:
int tribonacci(int n) {
if(!n)return 0;
if(n==1 || n==2)return 1;
int st=0, nd=1, rd=1;
n -= 2;
while(n--){
int sum = st+nd+rd;
st = nd;
nd = rd;
rd = sum;
}
return rd;
}
};
solution 2 short code
class Solution {
public:
int tribonacci(int n) {
int dp[3] = {
0, 1, 1};
for(int i=3; i<=n; ++i)
dp[i%3] += dp[(i+1)%3] + dp[(i+2)%3];
return dp[n%3];
}
};

problem Ⅲ
746. Min Cost Climbing Stairs
You are given an integer array cost where cost[i] is the cost of ith step on a staircase. Once you pay the cost, you can either climb one or two steps.
You can either start from the step with index 0, or the step with index 1.
Return the minimum cost to reach the top of the floor.
Example 1:
Input: cost = [10,15,20]
Output: 15
Explanation: You will start at index 1.
- Pay 15 and climb two steps to reach the top.
The total cost is 15.
Example 2:
Input: cost = [1,100,1,1,1,100,1,1,100,1]
Output: 6
Explanation: You will start at index 0.
- Pay 1 and climb two steps to reach index 2.
- Pay 1 and climb two steps to reach index 4.
- Pay 1 and climb two steps to reach index 6.
- Pay 1 and climb one step to reach index 7.
- Pay 1 and climb two steps to reach index 9.
- Pay 1 and climb one step to reach the top.
The total cost is 6.
solution
class Solution {
public:
int minCostClimbingStairs(vector<int>& cost) {
int n = cost.size();
for(int i=2; i<n; i++)
cost[i] += min(cost[i-1], cost[i-2]);
return min(cost[n-1], cost[n-2]);
}
};

边栏推荐
- Exercises of function recursion
- Wechat applet quick start (including NPM package use and mobx status management)
- 2022-06-27 网工进阶(十二)IS-IS-开销类型、开销计算、LSP的处理机制、路由撤销、路由渗透
- Nacos usage of micro services
- February 14-20, 2022 (osgear source code debugging +ue4 video +ogremain source code transcription)
- Micro service knowledge sorting - asynchronous communication technology
- BOC protected alanine porphyrin compound TAPP ala BOC BOC BOC protected phenylalanine porphyrin compound TAPP Phe BOC Qi Yue supply
- Detailed explanation of shuttle unity interworking principle
- NFT without IPFs and completely on the chain?
- About callback function and hook function
猜你喜欢

Typora charges, WTF? Still need support
![2022-06-30 advanced network engineering (XIV) routing strategy - matching tools [ACL, IP prefix list], policy tools [filter policy]](/img/b6/5d6b946d8001e2d73c2cadbdce72fc.png)
2022-06-30 advanced network engineering (XIV) routing strategy - matching tools [ACL, IP prefix list], policy tools [filter policy]

Use of aggregate functions

Chapter 1: simplify the same code decimal sum s (D, n)

2022-06-30 網工進階(十四)路由策略-匹配工具【ACL、IP-Prefix List】、策略工具【Filter-Policy】

Nerfplusplus parameter format sorting

PR 2021 quick start tutorial, how to create new projects and basic settings of preferences?

04 -- QT OpenGL two sets of shaders draw two triangles

Chapter 2: find the box array, complete number in the specified interval, and improve the complete number in the specified interval

Chapter 1: sum of three factorials, graph point scanning
随机推荐
Rad+xray vulnerability scanning tool
Implementation of stack
Leetcode daily question solution: 540 A single element in an ordered array
04 -- QT OpenGL two sets of shaders draw two triangles
Don't be afraid of no foundation. Zero foundation doesn't need any technology to reinstall the computer system
Find a line in a file and remove it
Day10 ---- 强制登录, token刷新与jwt禁用
Global and Chinese market of full authority digital engine control (FADEC) 2022-2028: Research Report on technology, participants, trends, market size and share
Explore the internal mechanism of modern browsers (I) (original translation)
unittest框架基本使用
BOC protected amino acid porphyrins TAPP ala BOC, TAPP Phe BOC, TAPP Trp BOC, Zn · TAPP ala BOC, Zn · TAPP Phe BOC, Zn · TAPP Trp BOC Qiyue
The simplicity of laravel
5. MVVM model
Ae/pr/fcpx super visual effects plug-in package fxfactory
Realize user registration and login
Teach you how to quickly recover data by deleting recycle bin files by mistake
第一章:求同吗小数和s(d, n)
Part 27 supplement (27) buttons of QML basic elements
Make a simple text logo with DW
Use of aggregate functions