学了差不多一半的内容了,今天突然做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官方写信询问:)


继续加油!:)

1
1
jiangkerLove
好的,谢谢老师
2019-01-26
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程