让我们有n
价值观.所有值都false
可以更改为true
.我想对这些值进行3次操作,并且具有一定的时间复杂度:
val(i)
- >返回索引处的值i
.时间复杂度 - O(1).change(i)
- >将index的值更改i
为true.时间复杂度 -
摊销O(1).find(i)
- >最接近的索引返回到索引i
,包含值
false
(如果有false
上i
然后返回i
).时间复杂度 - O(log n).我并不关心空间复杂性.结构在开始时以固定长度初始化.初始化需要多长时间并不重要.
用于这些操作的数据结构应该如何?