leetcode16--最接近的三数之和

1. 题意

求最接近的三数之和
最接近的三数之和

2. 题解

三数之和类似

cpp 复制代码
class Solution {
public:
    int threeSumClosest(vector<int>& nums, int target) {

        sort(nums.begin(), nums.end());

        int sz = nums.size();

        int sum = nums[0] + nums[1] + nums[2];


        for (int i = 0;i < sz; ++i) {
            int lp = i + 1;
            int rp = sz - 1;
    
            if ( i && nums[i - 1] == nums[i])
                continue;

            int tot ;
            while (lp < rp) {
                tot = nums[i];
                tot += nums[lp] + nums[rp];

                if ( abs( tot - target) < abs(sum - target))
                    sum = tot;

                if ( tot < target) {
                    ++lp;
                }
                else {
                    --rp;
                }
            }
        }

        return sum;
    }
};
相关推荐
承渊政道2 分钟前
【优选算法】(实战剖析链表核心操作技巧)
开发语言·数据结构·c++·vscode·学习·算法·链表
Boop_wu4 分钟前
[Java算法] 递归(1)
java·算法·深度优先
stolentime11 分钟前
树套树+标记永久化:[POI 2006] TET-Tetris 3D&&SPOJ1741 TETRIS3D - Tetris 3D题解
c++·算法·线段树·树套树·标记永久化
XiYang-DING12 分钟前
【LeetCode】链表 + 快慢指针找倒数结点 | 链表中倒数第k个结点
算法·leetcode·链表
一轮弯弯的明月26 分钟前
有序整数对个数-欧拉函数
java·算法·蓝桥杯·学习心得
dazzle40 分钟前
机器学习算法原理与实践-入门(十):基于PaddlePaddle框架的线性回归
算法·机器学习·paddlepaddle
2501_9403152642 分钟前
【无标题】1.用哈希表做两数之和
算法·哈希算法·散列表
计算机安禾1 小时前
【数据结构与算法】第20篇:二叉树的链式存储与四种遍历(前序、中序、后序、层序)
c语言·开发语言·数据结构·c++·学习·算法·visual studio
菜菜的顾清寒1 小时前
力扣HOT100(16)除了自身以外数组的乘积
算法·leetcode·职场和发展
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章45-圆卡尺
图像处理·人工智能·opencv·算法·计算机视觉