博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
15. 3Sum C++
阅读量:5888 次
发布时间:2019-06-19

本文共 1523 字,大约阅读时间需要 5 分钟。

参考资料:

https://leetcode.com/problems/3sum/discuss/7402/Share-my-AC-C%2B%2B-solution-around-50ms-O(N*N)-with-explanation-and-comments

https://www.cnblogs.com/grandyang/p/4481576.html

class Solution {public:    vector
> threeSum(vector
& nums) { vector
> res; std::sort(nums.begin(), nums.end()); for (int i = 0; i < nums.size(); i++) { int target = -nums[i]; int front = i + 1; int back = nums.size() - 1; while (front < back) { int sum = nums[front] + nums[back]; // Finding answer which start from numsber nums[i] if (sum < target) front++; else if (sum > target) back--; else { vector
triplet(3, 0); triplet[0] = nums[i]; triplet[1] = nums[front]; triplet[2] = nums[back]; res.push_back(triplet); // Processing duplicates of numsber 2 // Rolling the front pointer to the next different numsber forwards while (front < back && nums[front] == triplet[1]) front++; // Processing duplicates of numsber 3 // Rolling the back pointer to the next different numsber backwards while (front < back && nums[back] == triplet[2]) back--; } } // Processing duplicates of numsber 1 while (i + 1 < nums.size() && nums[i + 1] == nums[i]) i++; } return res; }};

 

转载于:https://www.cnblogs.com/tornado549/p/9966923.html

你可能感兴趣的文章
我的友情链接
查看>>
Linux之信号第一谈
查看>>
增广贤文
查看>>
while死循环 无法执行
查看>>
聊一聊前端模板与渲染那些事儿
查看>>
我的友情链接
查看>>
XSS测试平台
查看>>
我的友情链接
查看>>
android 进程
查看>>
ceph-deploy源码分析(一)——源码结构与cli <转>
查看>>
Swift 对象内存模型探究(一)
查看>>
Spring集成JPA后,报“Not an managed type: class x.x.x"
查看>>
sublime配置全攻略【转】
查看>>
我的友情链接
查看>>
Linux Shell从入门到删除根目录跑路指南
查看>>
深入了解MyBatis参数
查看>>
FreeBSD中安装源的方法
查看>>
浮动层代码
查看>>
1.安装zabbix server
查看>>
mongodb相关(单实例、复制集、分片集)
查看>>