Skip to content

Commit 30f08bc

Browse files
aQuaaQua
aQua
authored and
aQua
committed
381 runtime error
1 parent df9cbef commit 30f08bc

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

Algorithms/0381.insert-delete-getrandom-o1-duplicates-allowed/insert-delete-getrandom-o1-duplicates-allowed.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,19 +37,21 @@ func (r *RandomizedCollection) Remove(val int) bool {
3737
}
3838

3939
last := r.a[len(r.a)-1]
40-
lenOfLast := len(r.idx[last])
41-
lenOfVal := len(r.idx[val])
40+
numOfLast := len(r.idx[last])
41+
numOfVal := len(r.idx[val])
42+
indexOfLastVal := r.idx[val][numOfVal-1]
43+
4244
// 把 a 的最后一个数,放入最后一个 val 的位置
43-
r.a[r.idx[val][lenOfVal-1]] = last
44-
r.idx[last][lenOfLast-1] = r.idx[val][lenOfVal-1]
45+
r.a[indexOfLastVal] = last
46+
r.idx[last][numOfLast-1] = indexOfLastVal
4547

4648
// 删除最后一个数
4749
r.a = r.a[:len(r.a)-1]
4850
// 在 r.idx 中删除最后一个 val 的记录
49-
if lenOfVal == 1 {
51+
if numOfVal == 1 {
5052
delete(r.idx, val)
5153
} else {
52-
r.idx[val] = r.idx[val][:lenOfVal-1]
54+
r.idx[val] = r.idx[val][:numOfVal-1]
5355
}
5456

5557
return true

0 commit comments

Comments
 (0)