欢迎光临散文网 会员登陆 & 注册

三数之和

2023-06-03 22:29 作者:米诺斯人  | 我要投稿

两数之和为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)

。。。。。。。。


三数之和的评论 (共 条)

分享到微博请遵守国家法律