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

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

public class Solution {public int threeSumClosest(int[] nums, int target) {if (nums == null || nums.length < 3){return 0;  } Arrays.sort(nums);  int ret = 0;  int closestDist = Integer.MAX_VALUE;  int len =  nums.length;  for (int i = 0; i < len-2; i++) {  if (i > 0 && nums[i] == nums[i-1]){continue;  }int l = i+1   ;int r = len-1 ;  while (l < r) {  int sum = nums[i] + nums[l] + nums[r];  if (sum < target) {  if (target-sum < closestDist) {  closestDist = target - sum;  ret = sum;  }  l++;  } else if (sum > target) {  if (sum-target < closestDist) {  closestDist = sum - target;  ret = sum;  }  r--;  } else { return sum;  }  }  }  return ret;  }
}

LeetCode 16. 最接近的三数之和 3Sum Closest相关推荐

  1. Leetcode 16. 最接近的三数之和(3Sum Closest)

    解法一: class Solution { public:int threeSumClosest(vector<int>& nums, int target) {int close ...

  2. Java实现 LeetCode 16 最接近的三数之和

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

  3. leetcode —— 16. 最接近的三数之和

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

  4. leetcode 16.最接近的三数之和

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

  5. LeetCode 16. 最接近的三数之和(固定左端+滑动窗口)

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

  6. [Swift]LeetCode16. 最接近的三数之和 | 3Sum Closest

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  7. 3. Leetcode 16. 最接近的三数之和 (数组-双向双指针)

    给你一个长度为 n 的整数数组 nums 和 一个目标值 target.请你从 nums 中选出三个整数,使它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在恰好一个解.示例 1: ...

  8. LeetCode 16最接近的三数之和

    力扣 思路 排序+双指针 枚举第一个数a,对剩下的两个元素b,c,希望它们的和最接近target-a 1.如果它们在原数组中枚举的范围没有任何规律可言,只能用两重循环来枚举所有情况 ->考虑对数 ...

  9. LeetCode 16 最接近的三数之和

    https://leetcode-cn.com/problems/3sum-closest/ 解决方案 class Solution {public int threeSumClosest(int[] ...

最新文章

  1. 关于Java中String类的intern()方法
  2. 圆方圆python入门:如何学习(二)
  3. 一发工资就全部取出,会对银行流水有影响吗?
  4. Haproxy 让后端RS记录真实IP
  5. python 元组遍历_Python中的for循环:元组、列表、字典的遍历和相互转化
  6. mongodb java 多条件查询_MongoDB_Java连接mongo 使用Java多条件查询mongo数据
  7. 好程序员Java分享JVM类加载机制
  8. MySQL重复数据排序_排序数据以在MySQL中重复记录
  9. BBQ EasyBuns
  10. 在投射和录制时显示敏感信息时,免root授权确认框
  11. ConvE:Convolutional 2D Knowledge Graph Embeddings
  12. BufferedStream
  13. 自定义导航栏 UINavigationBar
  14. 正则表达式验证身份证号以及验证校验位的正确性
  15. 目前国内几大著名报表软件
  16. Java 【打印俄文的英文字母】
  17. 25则“验尸报告”— 创业失败者启示录
  18. 中秋福利PK!2017公司月饼哪家强?腾讯、阿里、百度、京东、网易等21家中秋月饼盘点!(完整版)
  19. Spark官网下载速度过慢?试试清华的镜像
  20. 学习学习学习~!~!~!

热门文章

  1. 如何连接ipv6服务器_Linux操作系统配置IPv6方法
  2. 【冀宝er要逆袭】HDU-4287-Intelligent IME
  3. linux 查看用户的uid和gid
  4. java perm space_java.lang.OutOfMemoryError: PermGen space及其解决方法
  5. Java创建文件并写入内容
  6. Python 接口测试(五)
  7. 【AHK】run/打开的程序无法拖放
  8. 计算机实习自我鉴定范文5篇
  9. 转载:从业之路 //yuange1975的博客
  10. 第一步工作:郁闷后的觉醒