博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 16. 最接近的三数之和 模拟
阅读量:3904 次
发布时间:2019-05-23

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

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。

例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).

 跟求三数之和差不多,甚至感觉比三数之和简单,因为有相等的情况直接返回target就可以了。。。

思路跟三数之和差不多,只是在三数之和上加了根据abs(ans-target)与abs(Sum-target)的大小判断是否更新ans值。。。

代码如下:

 

class Solution {public:    int threeSumClosest(vector
& nums, int target) { int Size=nums.size(); sort (nums.begin(),nums.end(),less
()); if(Size<3) return 0; int ans=0x3f3f3f3f; for (int i=0;i
target) { if(abs(ans-target)>Sum-target) ans=Sum; k--; } else if(Sum
target-Sum) ans=Sum; j++; } else return target; } } return ans; }};

 

转载地址:http://ptaen.baihongyu.com/

你可能感兴趣的文章
WinForm 获取文件/文件夹对话框
查看>>
PyCharm打包.exe遇到的问题
查看>>
winform中添加Windows Media Player
查看>>
345. 反转字符串中的元音字母
查看>>
67. 二进制求和
查看>>
125. 验证回文串
查看>>
168. Excel表列名称
查看>>
400. 第N个数字
查看>>
209. 长度最小的子数组
查看>>
145. 二叉树的后序遍历
查看>>
2. 两数相加
查看>>
3. 无重复字符的最长子串
查看>>
5. 最长回文子串
查看>>
4. 两个排序数组的中位数
查看>>
10. 正则表达式匹配
查看>>
23. 合并K个元素的有序链表
查看>>
32. 最长有效括号
查看>>
6. Z字形转换
查看>>
8. 字符串转整数(atoi)
查看>>
12. 整数转罗马数字
查看>>