当前位置:网站首页>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]);
}
};

边栏推荐
- 第一章:简化同码小数和s(d, n)
- HCIA-USG Security Policy
- Sparse matrix (triple) creation, transpose, traversal, addition, subtraction, multiplication. C implementation
- Upgrade PIP and install Libraries
- Nacos usage of micro services
- How to improve data security by renting servers in Hong Kong
- Ruby replaces gem Alibaba image
- 第一章: 舍罕王失算
- 44. Concurrent programming theory
- [Yu Yue education] basic reference materials of manufacturing technology of Shanghai Jiaotong University
猜你喜欢

PR 2021 quick start tutorial, how to create a new sequence and set parameters?

Sparse matrix (triple) creation, transpose, traversal, addition, subtraction, multiplication. C implementation

Detailed and not wordy. Share the win10 tutorial of computer reinstallation system

Nerfplusplus parameter format sorting

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

Derivation of decision tree theory

MPLS configuration

Native table - scroll - merge function

2022 Xinjiang latest road transportation safety officer simulation examination questions and answers

原生表格-滚动-合并功能
随机推荐
01 - QT OpenGL display OpenGL window
BOC protected tryptophan porphyrin compound (TAPP Trp BOC) Pink Solid 162.8mg supply - Qiyue supply
Point cloud data denoising
Xctf attack and defense world crypto master advanced area olddriver
Strict data sheet of new features of SQLite 3.37.0
Microsoft: the 12th generation core processor needs to be upgraded to win11 to give full play to its maximum performance
Detailed explanation of shuttle unity interworking principle
Bright purple crystal meso tetra (4-aminophenyl) porphyrin tapp/tapppt/tappco/tappcd/tappzn/tapppd/tappcu/tappni/tappfe/tappmn metal complex - supplied by Qiyue
Ruby replaces gem Alibaba image
Chapter 1: seek common? Decimal and S (D, n)
Chapter 2: 4-digit Kaplan number, search even digit Kaplan number, search n-digit 2-segment sum square number, m-digit ingenious square number without 0, specify the number to form a 7-digit square nu
Rad+xray vulnerability scanning tool
Professional interpretation | how to become an SQL developer
Kubernetes cluster builds efk log collection platform
第二章:4位卡普雷卡数,搜索偶数位卡普雷卡数,搜索n位2段和平方数,m位不含0的巧妙平方数,指定数字组成没有重复数字的7位平方数,求指定区间内的勾股数组,求指定区间内的倒立勾股数组
Class loading process
Nerfplusplus parameter format sorting
05 -- QT OpenGL draw cube uniform
Global and Chinese market of rubidium standard 2022-2028: Research Report on technology, participants, trends, market size and share
44. Concurrent programming theory