給定一個數組 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