题目如下:

题目

这道题可以用排一些特殊情况,减少计算量, 参考代码如下:

class Solution:

def threeSumClosest(self, nums, target):

"""

:type nums: List[int]

:type target: int

:rtype: int

"""

# 如果只有3个数,那直接返回这三个数的和

if len(nums) == 3:

return sum(nums)

nums = sorted(nums)

# 如果最小的和大于目标,那返回最小的和

if sum(nums[:3]) >= target:

return sum(nums[:3])

# 如果最大的和小于目标,那返回最大的和

if sum(nums[-3:]) <= target:

return sum(nums[-3:])

cur = nums[0] + nums[1] + nums[-1]

for i in range(0, len(nums) - 2):

# 避免重复计算

if i > 0 and nums[i] == nums[i - 1]:

continue

j = i + 1

k = len(nums) - 1

while j < k:

res = nums[i] + nums[j] + nums[k]

if abs(res - target) < abs(cur - target):

cur = res

elif res == target:

return target

elif res < target:

j = j + 1

else:

k = k - 1

return cur

ps:如果您有好的建议,欢迎交流 :-D,也欢迎访问我的个人博客:tundrazone.com

leetcode 三数之和 python_16.leetcode题目讲解(Python):最接近的三数之和相关推荐

  1. python求三个整数最大值_实例讲解Python中整数的最大值输出

    实例讲解Python中整数的最大值输出 在Python中可以存储很大的值,如下面的Python示例程序: x = 1000000000000000000000000000000000000000000 ...

  2. 思维私塾——LeetCode16.最接近的三数之和

    目录 LeetCode16.最接近的三数之和 题目: 分析 只找一个数 找两个数的和 找三个数的和 代码实现 最后 LeetCode16.最接近的三数之和 ​ 各位朋友们大家好呀,我是你的老朋友冢狐, ...

  3. LeetCode实战:最接近的三数之和

    题目英文 Given an array nums of n integers and an integer target, find three integers in nums such that ...

  4. leetcode 16. 3Sum Closest | 16. 最接近的三数之和(双指针)

    题目 https://leetcode.com/problems/3sum-closest/ 题解 方法1:固定 L,双指针找 M.R 时间复杂度 O(n^2),推荐此方法. 证明不会有元素遗漏,详见 ...

  5. 20200126:(leetcode)三数之和 最接近的三数之和(含图解)

    三数之和 && 最接近的三数之和 题目 基本思路 代码实现 题目 三数之和 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b ...

  6. Leetcode算法Java全解答--16. 最接近的三数之和

    Leetcode算法Java全解答–16. 最接近的三数之和 文章目录 Leetcode算法Java全解答--16. 最接近的三数之和 题目 想法 结果 总结 代码 我的答案 暴力破解 滑动列表 大佬 ...

  7. LeetCode 15三数之和16最接近的三数之和

    三数之和(双指针) 题意: 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组. 注意 ...

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

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

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

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

最新文章

  1. MySQL 重要函数实例
  2. 浅谈JavaScript 函数作用域当中的“提升”现象
  3. 申请服务器就是申请虚拟主机吗,申请一个虚拟主机和云主机哪个更好呢?
  4. 从实例入手学习Shiro的会话机制
  5. Java StringBuilder神话被揭穿
  6. linux教程:配置Tomcat开机启动
  7. python中协程的理解_python协程的理解
  8. Flink 执行引擎:流批一体的融合之路
  9. 河南自考本科英语可用计算机代替,河南:自学考试改革方案出炉 专业课可代替英语课程...
  10. 一维搜索之黄金分割法
  11. Delphi更改.exe文件图标
  12. 客户关系管理系统(CRM)的开发过程中使用到的开发工具总结
  13. easyUI中combobox中idFeild和textFeild的取值方法
  14. java基础猜拳游戏
  15. 短视频抖音电商编导剧本分镜拍摄内容策划脚本计划表格方案模板
  16. 日本美术学校有哪些,日本美术学校排名榜
  17. 中兴事件再起,美国发布“晋华禁令”,这次遭殃的是存储芯片DRAM
  18. 未来广播电视新技术的发展和应用
  19. 干货分享:智慧工厂时代下大数据 + 智能的深度实践
  20. GeniE 实用教程(三)属性

热门文章

  1. mysql慢查询日志轮转_MySQL slow log相关参数解释
  2. maya python 开根号_maya python
  3. windows查看linux文件中文,Linux 系统下无法查看Windows 中创建的中文文件名
  4. c语言深度解剖 pdf,c语言深度解剖(解密).pdf.pdf
  5. linux内核实现ipsec,IP XFRM配置示例:利用linux kernel自带的IPSec实现,手动配置IPSec...
  6. java 双向链表_23张图!万字详解「链表」,从小白到大佬
  7. ps efgrep mysql 命令_mysql常用管理命令
  8. memcached client for java api,Memcached Client Forjava API
  9. idea创建web项目运行报404错误_使用IDEA新建Web工程启动报404的错误
  10. 外星人台式电脑_戴尔 XPS 和外星人大更新,一边是生产力,一边是游戏