这道题比之前的Range Sum Query 难度上升一大截。 我只会brute force的暴力解法T^T..
要update item,同时之前所有的储存解的cache都需要被更改。 这个time 需要太大了。。。
官方答案是: 要调整整个储存number的方式。
把整个array 分割成一个一个size = sqrt(array size)的大小。update的时候update 这个block里的某一个数, 然后get的时候用几个block 合成一下范围。 这样的好处是,数的改变的影响局限在一个block里,不需要update其他的地方。
不过面试官估计还是不会满意, 因为这道题的Expectation 应该是 Segment Tree