当前位置:网站首页>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 canj
As current point , So we only need to traverse this problem . Use a variablef
maintainj
All before the dota[i]+i
The 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
minn
maintain[0,i-1
] The minimum price of - Enumerate to
i
when ,prices[i]-minn
It means the current pointi
The 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;
}
};
边栏推荐
- 转行软件测试必需要知道的知识
- What are the business processes and differences of the three basic business modes of Vos: direct dial, callback and semi direct dial?
- 150 common interview questions for software testing in large factories. Serious thinking is very valuable for your interview
- Software testing interview summary - common interview questions
- [pytorch] simple use of interpolate
- Programmers, how to avoid invalid meetings?
- Stc-b learning board buzzer plays music 2.0
- What to do when programmers don't modify bugs? I teach you
- Future trend and planning of software testing industry
- 几款开源自动化测试框架优缺点对比你知道吗?
猜你喜欢
Interview answering skills for software testing
How to do agile testing in automated testing?
China's county life record: go upstairs to the Internet, go downstairs' code the Great Wall '
Sorting odd and even subscripts respectively for leetcode simple problem
What to do when programmers don't modify bugs? I teach you
Investment operation steps
Introduction to safety testing
How to transform functional testing into automated testing?
線程及線程池
软件测试面试回答技巧
随机推荐
软件测试有哪些常用的SQL语句?
Capitalize the title of leetcode simple question
如何成为一个好的软件测试员?绝大多数人都不知道的秘密
Leetcode simple question: check whether two strings are almost equal
Global and Chinese market of goat milk powder 2022-2028: Research Report on technology, participants, trends, market size and share
線程及線程池
How to learn automated testing in 2022? This article tells you
Servlet
STC-B学习板蜂鸣器播放音乐
Servlet
In Oracle, start with connect by prior recursive query is used to query multi-level subordinate employees.
How to solve the poor sound quality of Vos?
How to do agile testing in automated testing?
Software testing interview summary - common interview questions
软件测试行业的未来趋势及规划
Maximum nesting depth of parentheses in leetcode simple questions
遇到程序员不修改bug时怎么办?我教你
Global and Chinese markets of cobalt 2022-2028: Research Report on technology, participants, trends, market size and share
Express
Vysor uses WiFi wireless connection for screen projection_ Operate the mobile phone on the computer_ Wireless debugging -- uniapp native development 008