SubArray

sum[i][j] = prefix[j] - prefix[i];

subarray思路:

1)应用于大部分int subarray题目;

2)只遍历一遍;

3)每一次i前进中,记录当前的sum和进去prefix数组;

4)每一次i前进中,利用当前的sum和曾经的sum计算出某些玩意,

例如求子数组和为0,就是sum - prefix[0,i-1] == 0;

例如求子数组和最大,就是find max (sum-prefix[0, i-1])

题目有:

maximum subarray 1,2,3

best time to buy sell stock 1,2,3,4

subarray sum

subarray sum closet

twopointers窗口题目思路:

1)基本是对于字符窜而言,只有一题关于int,minimum size subarray sum;

2)两个指针,j在正常情况下前进,不回退;i在异常情况下前进,不回退;i前进时,当前的状态会被修改;

3)记录以下三个值:j,ret_value,sum

4)ret_value update的时机不定,或者在正常情况,或者在异常情况,或者在j循环break后;

results matching ""

    No results matching ""