欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

LeetCode算法入门- 3Sum Closest -day10

发布时间:2025/3/12 60 豆豆
生活随笔 收集整理的这篇文章主要介绍了 LeetCode算法入门- 3Sum Closest -day10 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

LeetCode算法入门- 3Sum Closest -day10

Given an array nums of n integers and an integer target, find three integers in nums such that the sum is closest to target. Return the sum of the three integers. You may assume that each input would have exactly one solution.

Example:

Given array nums = [-1, 2, 1, -4], and target = 1.

The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).

解法思路:记得利用左边和右边两个指针进行遍历,会更快一些

代码如下:

class Solution {public int threeSumClosest(int[] nums, int target) {int len = nums.length;int min = Integer.MAX_VALUE;int result = 0;//记得先排好序Arrays.sort(nums);for(int i = 0; i < len; i++){//利用left和right两个指针int left = i + 1;int right = len - 1;while(left < right){int sum = nums[i] + nums[left] + nums[right];int diff = Math.abs(sum - target);if(diff < min){//用一个min值来保存差距最小的值,记得保存住此时的3sum值是多少min = diff;result = sum;}if(sum >= target)right--;elseleft++;}}return result;} }

总结

以上是生活随笔为你收集整理的LeetCode算法入门- 3Sum Closest -day10的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。