數組題解題思路

給定一個數組 A

思路一:

構造一個新的數組B,從前往後累加。

即B[i] = A[0] + A[1] + ... + A[i],或B[i] = B[i - 1] + A[i] (i >= 1)

可以用來求解求一個數組中最長子數組和爲K的題。如leetcode 325,用一個map來代替B,達到O(n)的時間複雜度。

 

思路二:

用HashMap保存數組的下標或者思路一中求的的累加和的下標,用來減少時間複雜度。

如leetcode 1。

 

思路三:

異或

0^x=x    a^b^b=a

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章