给定一个数组 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
思路四:
对数组进行排序