网站域名解析,wordpress为什么放弃,怎么做产品网站,动漫制作专业需要美术功底吗1 问题
给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数#xff0c;使它们的和与 target 最接近。
返回这三个数的和。
假定每组输入只存在恰好一个解。
示例 1#xff1a;
输入#xff1a;nums [-1,2,1,-4], target 1 输出使它们的和与 target 最接近。
返回这三个数的和。
假定每组输入只存在恰好一个解。
示例 1
输入nums [-1,2,1,-4], target 1 输出2 解释与 target 最接近的和是 2 (-1 2 1 2) 。
示例 2
输入nums [0,0,0], target 1 输出0
2 答案
自己写的不对
class Solution:def threeSumClosest(self, nums: List[int], target: int) - int:n len(nums)if not nums or n 3:return Nonemin_ne inf nums.sort()for i in range(n):L i 1R n - 1while L R:if abs(nums[i]nums[L]nums[R] - target) min_ne:min_ne abs(nums[i]nums[L]nums[R] - target)res nums[i]nums[L]nums[R]L 1R - 1return res官方解与上一题类似依然是双指针
class Solution:def threeSumClosest(self, nums: List[int], target: int) - int:n len(nums)res inf nums.sort()for i in range(n):L i 1R n - 1while L R:tmp nums[i]nums[L]nums[R]res tmp if abs(tmp - target) abs(res - target) else res # 保存res距离每次重新算if tmp target: # 这个要有拿tmp比而不是res不然指针会乱走return targetif tmp target:L 1if tmp target:R - 1return res