当前位置:网站首页>Leetcode notes - dynamic planning -day7
Leetcode notes - dynamic planning -day7
2022-07-06 15:16:00 【LL. LEBRON】
List of articles
LeetCode Brush notes - Dynamic programming -day7
1014. The best combination of sightseeing
1. subject
Original link :1014. The best combination of sightseeing

2. Their thinking
- Observe carefully
a[i] + a[j] + i - j, Decomposable into :(a[j]-j)+(a[i]+i) - Again because
i<j, We canjAs current point , So we only need to traverse this problem . Use a variablefmaintainjAll before the dota[i]+iThe maximum of res=max(res,f+a[j]-j);The maximum value can be obtained by scanning once
3. Code
class Solution {
public:
int maxScoreSightseeingPair(vector<int>& a) {
int f=a[0];
int res=-1e9;
for(int i=1;i<a.size();i++){
res=max(res,f+a[i]-i);
f=max(a[i]+i,f);
}
return res;
}
};
121. The best time to buy and sell stocks
1. subject
Original link :121. The best time to buy and sell stocks

2. Their thinking
- Use a variable
minnmaintain[0,i-1] The minimum price of - Enumerate to
iwhen ,prices[i]-minnIt means the current pointiThe biggest gain from selling - Traverse all points , Taking the maximum :
res=max(res,prices[i]-minn);
3. Code
class Solution {
public:
int maxProfit(vector<int>& prices) {
int minn=1e9,res=0;
for(int i=0;i<prices.size();i++){
res=max(res,prices[i]-minn);
minn=min(minn,prices[i]);
}
return res;
}
};
122. The best time to buy and sell stocks II
1. subject
Original link :122. The best time to buy and sell stocks II

2. Their thinking
Algorithm : greedy
The specific situation can be divided into three categories :
- Single trading day : Set today's price P1、 Tomorrow's price P2, Then buy today 、 Exempt the earned amount tomorrow P2−P1( Negative values represent losses )
- Continuous rising trading day : Let the stock prices on this rising trading day be P1,P2,…,Pn Buy on the first day and sell on the last day , namely Pn−P1; Equivalent to buying and selling every day , namely Pn−P1=(P2−P1)+(P3−P2)+…+(Pn−Pn−1)
- Continuous decline in trading days : Then the trading income is the largest , That is, you won't lose money
Summary can be obtained : Since the number of transactions is not considered . Let's consider the stock price of the next two days , If the stock price of the next day is greater than that of the previous day , Then after the buy and sell operation , You can make a profit . Such greed will certainly make the greatest profit .
Directly traverse the entire array . If prices[i+1]-prices[i] Greater than 0, Then add the final total profit .
3. Code
class Solution {
public:
int maxProfit(vector<int>& prices) {
int res=0;
for(int i=0;i<prices.size()-1;i++){
res+=max(0,prices[i+1]-prices[i]);
}
return res;
}
};

边栏推荐
- STC-B学习板蜂鸣器播放音乐2.0
- ArrayList集合
- Interview answering skills for software testing
- Currently, mysql5.6 is used. Which version would you like to upgrade to?
- Install and run tensorflow object detection API video object recognition system of Google open source
- [HCIA continuous update] advanced features of routing
- Threads et pools de threads
- Daily code 300 lines learning notes day 9
- What is "test paper test" in software testing requirements analysis
- UCORE lab8 file system experiment report
猜你喜欢

CSAPP Shell Lab 实验报告

Brief description of compiler optimization level

The minimum number of operations to convert strings in leetcode simple problem

Cc36 different subsequences

线程及线程池

软件测试Bug报告怎么写?

Rearrange spaces between words in leetcode simple questions

ucore lab2 物理内存管理 实验报告

UCORE LaB6 scheduler experiment report

Heap, stack, queue
随机推荐
The minimum number of operations to convert strings in leetcode simple problem
UCORE lab1 system software startup process experimental report
Sleep quality today 81 points
UCORE lab7 synchronous mutual exclusion experiment report
[HCIA continuous update] advanced features of routing
Introduction to safety testing
Logstack introduction and deployment -- elasticstack (elk) work notes 019
ucore lab6 调度器 实验报告
Mysql database (IV) transactions and functions
ucore lab2 物理内存管理 实验报告
Global and Chinese market of portable and handheld TVs 2022-2028: Research Report on technology, participants, trends, market size and share
软件测试面试要问的性能测试术语你知道吗?
[HCIA continuous update] working principle of static route and default route
Servlet
C4D quick start tutorial - Introduction to software interface
Mysql database (III) advanced data query statement
Emqtt distribution cluster and node bridge construction
Portapack application development tutorial (XVII) nRF24L01 launch B
软件测试行业的未来趋势及规划
Practical cases, hand-in-hand teaching you to build e-commerce user portraits | with code