p********2 发帖数: 123 | 1 请问有没有手续费的解法参考?
自己写了一个,麻烦大牛给指正一下
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]
if(max-min>cost){
profit+=(max-min-cost);
min=s[i];
max=s[i];
}
}
}
//如果最后一天也是上升的,update一下最后
if(max-min>cost)
profit+=(max-min-cost);
} |
p*****2 发帖数: 21240 | 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]
|
p********2 发帖数: 123 | |
p*****2 发帖数: 21240 | 4
那就是要求一下交易的次数了吧。你有test case吗?
【在 p********2 的大作中提到】 : 就是每次卖出都有手续费固定cost
|
p********2 发帖数: 123 | 5 不限制交易次数吧,但还是buy before sell
没有test case,就是本版看到的一个google的面经 |
p*****2 发帖数: 21240 | 6
交易次数要最小化吧。
【在 p********2 的大作中提到】 : 不限制交易次数吧,但还是buy before sell : 没有test case,就是本版看到的一个google的面经
|
p*****2 发帖数: 21240 | 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]
|
p********2 发帖数: 123 | 8 buy sell 可以不用,只是记录下buy sell的值,当然min,max就够用了
对,profit应该减去cost每次 |
p*****2 发帖数: 21240 | 9
感觉min需要update吧?比如3,2,5
min 应该update成2吧?
【在 p********2 的大作中提到】 : buy sell 可以不用,只是记录下buy sell的值,当然min,max就够用了 : 对,profit应该减去cost每次
|
w****x 发帖数: 2483 | 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吧?
|
p*****2 发帖数: 21240 | 11
感觉可以做成O(n), leetcode应该加一下OJ,这样可以验证代码。
感觉LZ的思路是对的。
【在 w****x 的大作中提到】 : : two爷,你看这题能用greedy吗, : 楼主这个testcase你是错的: : int a[] = {1, 5, 3, 7}; : cost = 3 : 你的答案是2, 因该市7 - 1 - 3 = 3
|
w****x 发帖数: 2483 | 12
int a[] = {1, 5, 3, 7};
cost = 3
这个没过吧
【在 p*****2 的大作中提到】 : : 感觉可以做成O(n), leetcode应该加一下OJ,这样可以验证代码。 : 感觉LZ的思路是对的。
|
p*****2 发帖数: 21240 | 13
是呀。看来不行呀。
【在 w****x 的大作中提到】 : : int a[] = {1, 5, 3, 7}; : cost = 3 : 这个没过吧
|
q****m 发帖数: 177 | 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]
|