Shang Liangliang

Results 5 comments of Shang Liangliang

东哥好,大家好。我有个问题没想明白。在第 743 题「网络延迟时间」中,为什么curDistFromStart > distTo[curId]。也就是当前路径长度小于dp table里储存的路径长度时,不去更新distTo[curId]啊。 就是为什么不用写注释掉的那一行。 ```java int[] dijkstra(int start, List[] graph){ int[] distTo = new int[graph.length]; Arrays.fill(distTo, Integer.MAX_VALUE); distTo[start] = 0; PriorityQueue pq = new PriorityQueue( graph.length, (a,b)...

我刚才试了下,加上 distTo[curId] = curDistFromStart;对结果没有影响。我能想明白加上的逻辑,但想不明白为什么去掉后算法还是对的呢?

二分法这堆牌让我想起了老windows游戏,“空当接龙”。不过规则略有改变

```java // 这个 if 在判断以 root 为根的二叉树是不是 BST if (left[0] == 1 && right[0] == 1 && root.val > left[2] && root.val < right[1]) { // 以 root 为根的二叉树是 BST...

> @JackShang94, 这跟我们对空节点的处理有关,我们处理空节点的时候,把它的最小值设成了正无穷,最大值设成了负无穷,如果不比较大小直接赋值的话,那么它们的父亲节点的最小值也变成正无穷了,最大值也变成负无穷了,只有和是对的。也就是说,这会对以非空节点为根的子树的性质产生影响。 谢谢解答,茅塞顿开。不进行比较的话,前方代码对空节点的处理确实会影响到其父节点的赋值。