Redian新闻
>
Best Time to Buy and Sell Stock II这么简单?
avatar
Best Time to Buy and Sell Stock II这么简单?# JobHunting - 待字闺中
l*h
1
下面的算法过了Leetcode"Judge Large"
http://blog.unieagle.net/2012/12/04/leetcode%E9%A2%98%E7%9B%AE%
所以算法就是:从头到尾扫描prices,如果i比i-1大,那么price[i] – price[i-1]就
可以计入最后的收益中。这样扫描一次O(n)就可以获得最大收益了。
class Solution {
public:
int maxProfit(vector &prices) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int p = 0;
for(int i = 1; i < prices.size() ; ++i) {
int delta = prices[i] - prices[i-1];
if(delta > 0 ) {
p += delta;
}
}
return p;
}
};
avatar
h*n
2
我几个月以前发过同样的帖子,就是这么简单。
avatar
s*n
3
哈哈,如果要考虑每次交易还要手续费,这个方法就不行了。:)
考虑这种情况prices=[1,2,3],如果有手续费,你就不会在第二天先卖一次再买一次了
。:)
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。