bug记录(算法题):==赋值问题
leetcode 面试题59
上面的方法出错原因:
队列里存的是对象
==是判断指向的是否是同一个Integer对象
即queue.peek() == maxQueue.peek()判断的是两个是不是指向同一个对象,不是判断值,所以判断的时候不符合要求就没有执行 maxQueue.poll()
下面的版本因为赋值给了int 自动拆箱了
leetcode 面试题59
上面的方法出错原因:
队列里存的是对象
==是判断指向的是否是同一个Integer对象
即queue.peek() == maxQueue.peek()判断的是两个是不是指向同一个对象,不是判断值,所以判断的时候不符合要求就没有执行 maxQueue.poll()
下面的版本因为赋值给了int 自动拆箱了