思路
- 这道题本不难,但我一开始就想复杂了。我一开始就想着做半部分的和与有半部分的和相等后得到值,但殊不知array的无序排列,造成一旦超过了目标值再调整就很麻烦。
- 如果把array的总和求出来,右半边的和在总和的基础上减去左半边,从左到右,就不会错过任何一个可能的目标值了。
左半部分右半部分同时求和的方法
- 既然都想了,索性做个总结吧
- Use stack, to pop() from stackLeft and push in StackRight
- 为此还专门写了个class node储存val和sum
- 比较大小的部分是根据i + 1和j - 1的大小,还要考虑正负,超级麻烦