1、三数之和先转成,两数之和,首先进行排序获得有序数组,将每一个数字都作为区间起点,使用两个指针指向区间头尾,此时区间内都是有序的只要大于就大数左移,反之就小数右移,直到左右指针重合,可以进行剪枝优化,若区间内最小最大已经无法更改大于直接退出。
2、接雨水,要多做,单调栈版本是要从每一块的最底层开始计算每次都横着向上计算最后加和求出总的接水内容。
1、三数之和先转成,两数之和,首先进行排序获得有序数组,将每一个数字都作为区间起点,使用两个指针指向区间头尾,此时区间内都是有序的只要大于就大数左移,反之就小数右移,直到左右指针重合,可以进行剪枝优化,若区间内最小最大已经无法更改大于直接退出。
2、接雨水,要多做,单调栈版本是要从每一块的最底层开始计算每次都横着向上计算最后加和求出总的接水内容。