leetcode 121.Best Time to Buy and Sell Stock 股票买卖最佳时间
2016-03-13 17:32
423 查看
题目:
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.
翻译:
给出一个含有i个元素的数组,其中第i个元素代表第i天的股票价格(即prices[i]代表第i天股票价格)。
如果你只能最多完成一次交易(买一次和卖一次股票),设计一个算法来找出最大利润。
思路:
这题很简单,最多进行一次买卖交易,即找出这个数组中最大差值(必须是后面元素减去前面元素)即可。一个简单的办法就是找出前i个元素中最小的元素min和前i个元素中最大的利润(差值)maxprofit。时间复杂度为O(n)空间复杂度为O(1)。
个人感觉这应该是easy难度。
C++代码如下:
class Solution {
public:
int maxProfit(vector<int>& prices) {
int profit=0,i=0,maxprofit=0,min=0;
if (prices.size()<2){//leetcode注意边界条件
return 0;
}
min=prices[0];
for(i=1;i<prices.size();i++){
if(prices[i]>min){
profit=prices[i]-min;
if(profit>maxprofit){
maxprofit=profit;
}
}
else if(prices[i]<min){
min=prices[i];
}
}
return maxprofit;
}
};
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.
翻译:
给出一个含有i个元素的数组,其中第i个元素代表第i天的股票价格(即prices[i]代表第i天股票价格)。
如果你只能最多完成一次交易(买一次和卖一次股票),设计一个算法来找出最大利润。
思路:
这题很简单,最多进行一次买卖交易,即找出这个数组中最大差值(必须是后面元素减去前面元素)即可。一个简单的办法就是找出前i个元素中最小的元素min和前i个元素中最大的利润(差值)maxprofit。时间复杂度为O(n)空间复杂度为O(1)。
个人感觉这应该是easy难度。
C++代码如下:
class Solution {
public:
int maxProfit(vector<int>& prices) {
int profit=0,i=0,maxprofit=0,min=0;
if (prices.size()<2){//leetcode注意边界条件
return 0;
}
min=prices[0];
for(i=1;i<prices.size();i++){
if(prices[i]>min){
profit=prices[i]-min;
if(profit>maxprofit){
maxprofit=profit;
}
}
else if(prices[i]<min){
min=prices[i];
}
}
return maxprofit;
}
};
相关文章推荐
- 使用spark和spark mllib进行股票预测
- leetcode 179 Largest Number
- leetcode 24 Swap Nodes in Pairs
- leetcode 2 Add Two Numbers 方法1
- leetcode 2 Add Two Numbers 方法2
- 基本面分析股票!
- 底区:大盘见底八大征兆
- 中央电视台-理财教室-张昕帆-如何守住你的好股票
- 股票投资五个一工程 -刘彦斌
- 如何委买委卖 如何从内盘、外盘、量比及换手率看股票
- 什么是涨停,什么是跌停
- 新股网上发行申购程序
- 股票基础[二]
- 股票基础[一]
- 股票基础[三]
- 巴菲特理财习惯揭秘
- CPP 虚函数、虚函数表及虚拟继承(转)
- 股票基本名词概念
- 吉姆-罗杰斯的一封信
- [彼得·林奇]25条股票投资黄金法则