学了差不多一半的内容了,今天突然做leetcode发现一个很奇怪的问题,不能用static?回到这里问问
来源:3-4 关于Leetcode的更多说明
jiangkerLove
2019-01-25
今天做leetcode的901题Online Stock Span时,我在自己电脑上先进行了测试正确后放入leetcode,发现怎么样都不正确,然后经过自己的调试,也还是找不到问题的所在,在我最后想要放弃的时候,我删除了static,
ArrayList<Integer> list;
private static int size = -1;
private static int oldPrice;
private static int tail = -1;
public StockSpanner() {
list = new ArrayList<>();
}
public int next(int price) {
list.add(price);
tail = tail + 1;
return get(price);
}
private int get(int price){
if(price < oldPrice){
oldPrice = price;
size = tail;
return 1;
}
while (size != -1){
if(list.get(size) > price)
break;
size--;
}
oldPrice = price;
return tail - size ;
}
结果就正确了。是因为leetcode不支持类变量吗?(知道有点多余我这里用静态的话)
写回答
1回答
-
liuyubobobo
2019-01-26
我测试了一下,确实如此。但具体怎么回事儿,我也不清楚了,需要给Leetcode官方写信询问:)
继续加油!:)
112019-01-26
相似问题