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

边栏推荐
- Global and Chinese market of high temperature Silver sintering paste 2022-2028: Research Report on technology, participants, trends, market size and share
- Cross compile opencv with contrib
- 2022-06-27 网工进阶(十二)IS-IS-开销类型、开销计算、LSP的处理机制、路由撤销、路由渗透
- Ruby replaces gem Alibaba image
- Bright purple crystal meso tetra (4-aminophenyl) porphyrin tapp/tapppt/tappco/tappcd/tappzn/tapppd/tappcu/tappni/tappfe/tappmn metal complex - supplied by Qiyue
- Micro service knowledge sorting - three pieces of micro Service Technology
- 4. Data splitting of Flink real-time project
- Acquisition and transmission of parameters in automatic testing of JMeter interface
- unittest框架基本使用
- Leetcode daily question solution: 540 A single element in an ordered array
猜你喜欢

Ae/pr/fcpx super visual effects plug-in package fxfactory

Nerfplusplus parameter format sorting

Derivation of decision tree theory

Teach you how to quickly recover data by deleting recycle bin files by mistake

第一章:拓广同码小数和s(d, n)

Upgrade PIP and install Libraries

Chapter 1: sum of three factorials, graph point scanning

Network security Kali penetration learning how to get started with web penetration how to scan based on nmap

Make a simple text logo with DW

Xctf attack and defense world crypto advanced area best_ rsa
随机推荐
FPGA 学习笔记:Vivado 2019.1 工程创建
Professional interpretation | how to become an SQL developer
Micro service knowledge sorting - asynchronous communication technology
6. Data agent object Defineproperty method
10 smart contract developer tools that miss and lose
2022-06-30 網工進階(十四)路由策略-匹配工具【ACL、IP-Prefix List】、策略工具【Filter-Policy】
Utilisation de base du cadre unitest
[Yu Yue education] basic reference materials of manufacturing technology of Shanghai Jiaotong University
第一章:简化同码小数和s(d, n)
Chapter 2: find the number of daffodils based on decomposition, find the number of daffodils based on combination, find the conformal number in [x, y], explore the n-bit conformal number, recursively
2022-06-28 网工进阶(十三)IS-IS-路由过滤、路由汇总、认证、影响ISIS邻居关系建立的因素、其他命令和特性
Native table - scroll - merge function
Xctf attack and defense world crypto master advanced area olddriver
Teach you how to quickly recover data by deleting recycle bin files by mistake
Find a line in a file and remove it
Network security Kali penetration learning how to get started with web penetration how to scan based on nmap
Blue Bridge Cup: the fourth preliminary - "simulated intelligent irrigation system"
2022-07-02 网工进阶(十五)路由策略-Route-Policy特性、策略路由(Policy-Based Routing)、MQC(模块化QoS命令行)
Bool blind note - score query
Microsoft: the 12th generation core processor needs to be upgraded to win11 to give full play to its maximum performance