Range Sum Query[with updates]

这道题比之前的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


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,353评论 0 33
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,892评论 6 13
  • Now that wait is over,and love shown you my way. 此生的等待已经结...
    浅爱深喜欢阅读 689评论 0 0
  • 1.利用ggplot2自带的主题设置 2.library(ggthemes)利用这个扩展包 ??ggthemes获...
    茶苯海阅读 3,660评论 0 1
  • 我是一名婚礼人,每天在婚礼上不停的忙碌,见证一次次幸福的瞬间,都会感到很开心。可前两天的婚礼确带给我些许伤感。 在...
    幸福婚礼人黄丽阅读 1,534评论 1 0