两数之和为O(N)
那么推测三数之和最多是O(N^2)
先排序(反正排序是O(NlogN))
先确定外层循环为i。
那么内部有两个变量,u、v在遍历整个数组迭代。
u先不变,v++,直到num[i]+num[u]+num[v]>=0;
然后u++,这时候v迭代的方向一定是向前迭代,和刚才相反;因为后面的数更大会让三数之和一定大于0
当uv相遇,本次迭代结束。i++。内部uv迭代复杂度仅为O(N)
。。。。。。。。