【无标题】

简介: 【无标题】

力扣刷题时遇到一个问题,如图,编写代码如下,输入某个测试案例测试错误。希望网友给出解答。没有看出哪里得错误。

我得思路就是先构建一个数组absnums,放入nums[i]与target得绝对距离。

在对absnums构建元组tuple。

对tuple得第一个位置,也就是距离排序。

再找出排序后前三个tuple元素得第二个位置,对应nums得位置。

return结果为nums得三个位置之和。

https://leetcode.cn/problems/3sum-closest/

bool compareFirst(const std::tuple<int, int>& tuple1, const std::tuple<int, int>& tuple2) {
    return std::get<0>(tuple1) <= std::get<0>(tuple2);}
class Solution {
public:
    int threeSumClosest(vector<int>& nums, int target) {
        int nsize=nums.size();
        vector<int>absnums;
        absnums.resize(nsize);
        for(int i=0;i<nsize;++i)
        {
            int tmpabs=abs(nums[i]-target);
            absnums[i]=tmpabs;
        }
         std::vector<std::tuple<int, int>> tuples(absnums.size());
        std::transform(absnums.begin(), absnums.end(), tuples.begin(), 
                   [n = 0](int value) mutable { return std::make_tuple(value, n++); });
        std::sort(tuples.begin(), tuples.end(), compareFirst);
        int one = std::get<1>(tuples[0]);
        int two = std::get<1>(tuples[1]);
        int three = std::get<1>(tuples[2]);
        int result=nums[one]+nums[two]+nums[three];
        return result;
    }
};

目录
相关文章
mui 左右滑动效果
mui 左右滑动效果
230 0
|
3月前
|
存储 前端开发
【无标题】
【无标题】
21 0
|
算法 C++
无标题。。。
无标题。。。
Sublime text3 修改字体和行间距
Sublime text3 修改字体和行间距
949 0
|
算法 JavaScript
weebox弹出窗口不居中显示?
weebox弹出窗口不居中显示?
121 0
|
JavaScript 前端开发
Easyui layout设置满屏效果
html文件: DOCTYPE html> Easyui Layout全屏 north region west content east region south region 全屏取消全屏   js文件: $.
2385 0
无标题
   OOP是从静态角度考虑程序结构,OOP对业务处理过程中的实体、属性和行为进行抽象的封装以获得更加清晰高效化的逻辑划分。研究的是静态领域。 AOP从动态角度考虑程序运行过程,针对业务处理过程中的切面进行提取,所面对的是业务处理过程中的某个步骤或者阶段,研究的是一种动态的过程。
750 0
|
Android开发 数据格式 XML
Android 解决 Toolbar 的 Menu 图标无法显示
menu代码如下 效果如图: 图1.png 将代码修改,如下: 即在每个item节点中添加 android:showAsAction="always" ...
1514 0
无标题文章
Echarts 3.0 Echarts 教程
892 0