Redian新闻
>
buy and sell stock II with 手续费
avatar
buy and sell stock II with 手续费# JobHunting - 待字闺中
p*2
1
请问有没有手续费的解法参考?
自己写了一个,麻烦大牛给指正一下
public void buyandsell(int[] stock, int cost){
int min=stock[0];
int max,profit=0;
for(int i=1;iif(stock[i]>stock[i-1]){
max=s[i];
}
if(stock[i]if(max-min>cost){
profit+=(max-min-cost);
min=s[i];
max=s[i];
}
}
}
//如果最后一天也是上升的,update一下最后
if(max-min>cost)
profit+=(max-min-cost);
}
avatar
p*2
2

有手续费是什么意思呀?

【在 p********2 的大作中提到】
: 请问有没有手续费的解法参考?
: 自己写了一个,麻烦大牛给指正一下
: public void buyandsell(int[] stock, int cost){
: int min=stock[0];
: int max,profit=0;
: for(int i=1;i: if(stock[i]>stock[i-1]){
: max=s[i];
: }
: if(stock[i]
avatar
p*2
3
就是每次卖出都有手续费固定cost
avatar
p*2
4

那就是要求一下交易的次数了吧。你有test case吗?

【在 p********2 的大作中提到】
: 就是每次卖出都有手续费固定cost
avatar
p*2
5
不限制交易次数吧,但还是buy before sell
没有test case,就是本版看到的一个google的面经
avatar
p*2
6

交易次数要最小化吧。

【在 p********2 的大作中提到】
: 不限制交易次数吧,但还是buy before sell
: 没有test case,就是本版看到的一个google的面经

avatar
p*2
7

没看到你减去cost, 还有buy, sell是干嘛用的?

【在 p********2 的大作中提到】
: 请问有没有手续费的解法参考?
: 自己写了一个,麻烦大牛给指正一下
: public void buyandsell(int[] stock, int cost){
: int min=stock[0];
: int max,profit=0;
: for(int i=1;i: if(stock[i]>stock[i-1]){
: max=s[i];
: }
: if(stock[i]
avatar
p*2
8
buy sell 可以不用,只是记录下buy sell的值,当然min,max就够用了
对,profit应该减去cost每次
avatar
p*2
9

感觉min需要update吧?比如3,2,5
min 应该update成2吧?

【在 p********2 的大作中提到】
: buy sell 可以不用,只是记录下buy sell的值,当然min,max就够用了
: 对,profit应该减去cost每次

avatar
w*x
10

two爷,你看这题能用greedy吗,
楼主这个testcase你是错的:
int a[] = {1, 5, 3, 7};
cost = 3
你的答案是2, 因该市7 - 1 - 3 = 3

【在 p*****2 的大作中提到】
:
: 感觉min需要update吧?比如3,2,5
: min 应该update成2吧?

avatar
p*2
11

感觉可以做成O(n), leetcode应该加一下OJ,这样可以验证代码。
感觉LZ的思路是对的。

【在 w****x 的大作中提到】
:
: two爷,你看这题能用greedy吗,
: 楼主这个testcase你是错的:
: int a[] = {1, 5, 3, 7};
: cost = 3
: 你的答案是2, 因该市7 - 1 - 3 = 3

avatar
w*x
12

int a[] = {1, 5, 3, 7};
cost = 3
这个没过吧

【在 p*****2 的大作中提到】
:
: 感觉可以做成O(n), leetcode应该加一下OJ,这样可以验证代码。
: 感觉LZ的思路是对的。

avatar
p*2
13

是呀。看来不行呀。

【在 w****x 的大作中提到】
:
: int a[] = {1, 5, 3, 7};
: cost = 3
: 这个没过吧

avatar
q*m
14
这个加了手续费没改变任何东西啊,还是把所有有获利的加起来

【在 p********2 的大作中提到】
: 请问有没有手续费的解法参考?
: 自己写了一个,麻烦大牛给指正一下
: public void buyandsell(int[] stock, int cost){
: int min=stock[0];
: int max,profit=0;
: for(int i=1;i: if(stock[i]>stock[i-1]){
: max=s[i];
: }
: if(stock[i]
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。