LeetCode 3Sum Closest 最近似的3sum(2sum方法)
2024-08-30 11:41:15
题意:找到最接近target的3个元素之和,并返回该和。
思路:用2个指针,时间复杂度O(n^2)。
int threeSumClosest(vector<int>& nums, int target) {
int sum=nums[]+nums[]+nums[];
sort(nums.begin(), nums.end());
for(int i=; i<nums.size()-; i++)
{
int p=i+, q=nums.size()-;
while( p!=q )
{
int tmp=target-(nums[i]+nums[p]+nums[q]);
if(abs(tmp)<abs(sum-target) ) sum=nums[i]+nums[p]+nums[q];
if(!tmp) return target;
if(tmp>) p++;
else q--;
}
}
return sum;
}
AC代码
最新文章
- Linux 系统查看物理内存使用率的命令脚本,以百分比形式输出。
- HTML/Elements/base
- .net(C#)在vs2010版本下的MVC如何配置才能切换静态页面(html)
- .NET破解之百度网盘批量转存工具
- Methods throughout the lifespan of a view controller
- sencha touch中按钮的ui配置选项值及使用效果
- Python爬虫——抓取贴吧帖子
- java学习之Date的使用
- Openjudge-计算概论(A)-奥运奖牌计数
- linux ssh连接不自动断开
- java_web学习(3)XML基础
- experss框架—基础认识
- qt中的多线程
- html中title小图标的实现
- mac电脑进行可见光通信实验要点
- 【bzoj】2733: [HNOI2012]永无乡
- uip.h 笔记
- Linux 虚拟终端:screen
- 权限认证与授权(Shrio 框架)
- OpenCV 常用汇总