leetcode 三数之和 python_16.leetcode题目讲解(Python):最接近的三数之和
题目如下:
题目
这道题可以用排一些特殊情况,减少计算量, 参考代码如下:
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):最接近的三数之和相关推荐
- python求三个整数最大值_实例讲解Python中整数的最大值输出
实例讲解Python中整数的最大值输出 在Python中可以存储很大的值,如下面的Python示例程序: x = 1000000000000000000000000000000000000000000 ...
- 思维私塾——LeetCode16.最接近的三数之和
目录 LeetCode16.最接近的三数之和 题目: 分析 只找一个数 找两个数的和 找三个数的和 代码实现 最后 LeetCode16.最接近的三数之和 各位朋友们大家好呀,我是你的老朋友冢狐, ...
- LeetCode实战:最接近的三数之和
题目英文 Given an array nums of n integers and an integer target, find three integers in nums such that ...
- leetcode 16. 3Sum Closest | 16. 最接近的三数之和(双指针)
题目 https://leetcode.com/problems/3sum-closest/ 题解 方法1:固定 L,双指针找 M.R 时间复杂度 O(n^2),推荐此方法. 证明不会有元素遗漏,详见 ...
- 20200126:(leetcode)三数之和 最接近的三数之和(含图解)
三数之和 && 最接近的三数之和 题目 基本思路 代码实现 题目 三数之和 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b ...
- Leetcode算法Java全解答--16. 最接近的三数之和
Leetcode算法Java全解答–16. 最接近的三数之和 文章目录 Leetcode算法Java全解答--16. 最接近的三数之和 题目 想法 结果 总结 代码 我的答案 暴力破解 滑动列表 大佬 ...
- LeetCode 15三数之和16最接近的三数之和
三数之和(双指针) 题意: 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组. 注意 ...
- LeetCode 16. 最接近的三数之和(固定左端+滑动窗口)
1. 题目 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答案. ...
- leetcode —— 16. 最接近的三数之和
给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答案. 例如,给定数 ...
最新文章
- MySQL 重要函数实例
- 浅谈JavaScript 函数作用域当中的“提升”现象
- 申请服务器就是申请虚拟主机吗,申请一个虚拟主机和云主机哪个更好呢?
- 从实例入手学习Shiro的会话机制
- Java StringBuilder神话被揭穿
- linux教程:配置Tomcat开机启动
- python中协程的理解_python协程的理解
- Flink 执行引擎:流批一体的融合之路
- 河南自考本科英语可用计算机代替,河南:自学考试改革方案出炉 专业课可代替英语课程...
- 一维搜索之黄金分割法
- Delphi更改.exe文件图标
- 客户关系管理系统(CRM)的开发过程中使用到的开发工具总结
- easyUI中combobox中idFeild和textFeild的取值方法
- java基础猜拳游戏
- 短视频抖音电商编导剧本分镜拍摄内容策划脚本计划表格方案模板
- 日本美术学校有哪些,日本美术学校排名榜
- 中兴事件再起,美国发布“晋华禁令”,这次遭殃的是存储芯片DRAM
- 未来广播电视新技术的发展和应用
- 干货分享:智慧工厂时代下大数据 + 智能的深度实践
- GeniE 实用教程(三)属性
热门文章
- mysql慢查询日志轮转_MySQL slow log相关参数解释
- maya python 开根号_maya python
- windows查看linux文件中文,Linux 系统下无法查看Windows 中创建的中文文件名
- c语言深度解剖 pdf,c语言深度解剖(解密).pdf.pdf
- linux内核实现ipsec,IP XFRM配置示例:利用linux kernel自带的IPSec实现,手动配置IPSec...
- java 双向链表_23张图!万字详解「链表」,从小白到大佬
- ps efgrep mysql 命令_mysql常用管理命令
- memcached client for java api,Memcached Client Forjava API
- idea创建web项目运行报404错误_使用IDEA新建Web工程启动报404的错误
- 外星人台式电脑_戴尔 XPS 和外星人大更新,一边是生产力,一边是游戏