思路:答案区看到的,自己没想到:双指针,相当于有一个窗口,窗口的左右两边就是两个指针,我们根据窗口内值之和来确定窗口的位置和宽度。
两个起点,相当于动态窗口的两边,根据其窗口内的值的和来确定窗口的位置和大小
由于是连续的,差为1的一个序列,那么求和公式是(a0+an)*n/2
如果当前窗口内的值之和小于sum,那么右边窗口右移一下
如果当前窗口内的值之和大于sum,那么左边窗口右移一下
相等,那么就将窗口范围的所有数添加进结果集
昨晚深信服的题目,也是这个思路。:
二刷
index法
思路:答案区看到的,自己没想到:双指针,相当于有一个窗口,窗口的左右两边就是两个指针,我们根据窗口内值之和来确定窗口的位置和宽度。
两个起点,相当于动态窗口的两边,根据其窗口内的值的和来确定窗口的位置和大小
由于是连续的,差为1的一个序列,那么求和公式是(a0+an)*n/2
如果当前窗口内的值之和小于sum,那么右边窗口右移一下
如果当前窗口内的值之和大于sum,那么左边窗口右移一下
相等,那么就将窗口范围的所有数添加进结果集
昨晚深信服的题目,也是这个思路。:
二刷
index法