Skip to content

Commit c428f1b

Browse files
authored
Update Readme.md
1 parent 1a42f57 commit c428f1b

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

Design/1146.Snapshot-Array/Readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66

77
这样的话,我们会发现对于每个元素而言,它被记录的snapId并不是连续的。比如说snaps[index]={{1,4},{3,8}},即该元素在第一次拍快照时的值是4,第三次拍快照时的值是8. 那么我们在第二次拍快照的时候,该元素的值是什么呢?显然哪个时候它的值应该是与snapId==1时的值是一样的。所以我们应该在snaps[index]里面找到最后一个小于等于snapId的那个时间戳。
88

9-
此外还有一个细节,每个元素的初始值是0,我们也应该给它虚拟地加一个快照,它的snapId可以认为是-1.
9+
此外还有一个细节,如果某个元素从来没有被更新过,那么snaps[index]里面就是空的,二分搜值就得不到结果。解决方法是,考虑到每个元素的初始值是0,我们给它虚拟地加一个快照{-1,0},即它的snapId可以认为是-1. 这样get(index,snap_id)的时候至少能得到初始值0.

0 commit comments

Comments
 (0)