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;
    }
};
相关推荐
.道阻且长.3 小时前
C++ 11:可变参数模板
前端·c++·算法
Doubbbbbbble云6 小时前
基于贪心算法的区间覆盖问题求解策略4
算法·贪心算法
不会就选b12 小时前
算法日常・每日刷题--<贪心>25
数据结构·算法
Cccp.12315 小时前
【leetcode】(七)前缀树和贪心算法
数据结构·leetcode·贪心算法
千里码aicood15 小时前
基于CART算法的图书分类系统设计与实现
数据库·算法·分类
做cv的小昊16 小时前
【World Model】π0.5:a Vision-Language-Action Model with Open-World Generalization
人工智能·算法·机器学习·大模型·多模态·vla·世界模型
لا معنى له16 小时前
World-In-World: World Models in a Closed-Loop World
算法
Discipline102918 小时前
尼泊尔河流流量:天气驱动的预测与高流量风险
人工智能·算法
XuCoder19 小时前
改一个数,右边全得重算,这题怎么扛住两万次查询
算法