query count 1 interval

给一个数组(01100101,...)只有0和1构成,query返回给定下标区间,1的个数
eg:query(0,3) return2
query(45) return1. 

写了一行,面试官打断我,让我再说一下思路,我又说了一下准备定义一个array,n+1的size,第一个存0,保存到当前值的所有之前numbers的和,然后比如query(0,3),就能用preSum[4]-preSum[0];他表示不懂...我又举了3个例子...
面试官表示ok,但你不要写代码,先写fomula。我又沟通了一会儿什么是fomula,最后搞明白写了一个query(i,j)=preSum[j+1]-preSum[i];面试管表示满意,问我时间空间复杂度。

posted @ 2017-12-13 00:12  apanda009  阅读(164)  评论(0编辑  收藏  举报