[lleetcode 121. Best Time to Buy and Sell Stock]|week 16
来源:互联网 发布:网络歌曲 老公你辛苦了 编辑:程序博客网 时间:2024/05/17 04:40
- Best Time to Buy and Sell Stock
一、题目
Say you have an array for which the ith element is the price of a given stock on day i.
If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit.
Example 1:
Input: [7, 1, 5, 3, 6, 4]
Output: 5
max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price)
Example 2:
Input: [7, 6, 4, 3, 1]
Output: 0
In this case, no transaction is done, i.e. max profit = 0.
二、代码
代码:
class Solution {public: int maxProfit(vector<int>& prices) { if (prices.size()==0) return 0; int profit=0; int small=prices[0]; for (int i=0;i<prices.size()-1;i++) { if (prices[i]<small) small=prices[i]; int tmp=prices[i+1]-small; if (tmp>profit) profit=tmp; } return profit; }};
三、思路
要有利润必须先买入再卖出,因为每天只可以操作一次所以卖出的日期最少在买入的后一天,故遍历一遍向量,判断第i天是否为目前为止最小值,是则替换,同时i+1天减去最小值判断是否为目前为止最大利润,是则替换。因为寻找最小值与计算利润在同一遍历过程所以空间复杂度与时间复杂度为O(n).
- Count Primes
Description:
Count the number of prime numbers less than a non-negative number, n.
代码:
class Solution {
public:
int countPrimes(int n) {
int count=0;
if (n<=2)
return 0;
if (n<=3)
return 1;
if (n<=5)
return 2;
vector primes;
primes.push_back(3);
for (int i=5;i
- [lleetcode 121. Best Time to Buy and Sell Stock]|week 16
- [leetcode Best Time to Buy and Sell Stock]week 18
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time To Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock
- mac XMind 保存报错解决方案
- 关于JavaScript没有块级作用域的分析
- 第一个只出现一次的字符位置和字符流中第一个不重复的字符
- Linux Tips几则
- Java实现将zip文件解压
- [lleetcode 121. Best Time to Buy and Sell Stock]|week 16
- OpenCV——KD Tree(介绍完整的flann邻近搜索)
- 1625 夹克爷发红包 51HOD
- JAVA之Tomcat基础:Tomcat for linux 安装使用
- 两个链表的第一个公共结点
- 机器学习-->集成学习-->GBDT,RandomForest
- 手机与单片机NFC通讯方案,手机NFC通讯方案,单片机NFC通信方案
- JAVA Mac Maven项目搭建及一些初级配置
- QQ登录