LeetCode 016 3Sum Closest
来源:互联网 发布:mac草莓红试色cockney 编辑:程序博客网 时间:2024/05/29 16:54
题目大意是在数组中找3个数,使其的和最靠近给出的目标整数target。
思路和上一题3Sum一样,但是不能用hashmap因为要找的是最接近的数。
最快的算法是先排序。从小到大枚举最小的第一个数。然后从两边往中间扫描,得出第二个和第三个数。
需要注意的是,虽然时间复杂度都一样,但是一些常数上的优化可以大大加速程序:
- 跳过重复的数
- 当最小数*3超过target时直接返回。
- 当中间数*2超过(target-最小数)时跳过此轮循环
- 当三个数相加等于target时直接返回
加了以上优化,程序从52ms加快到8ms。
0 0
- LeetCode 016 3Sum Closest
- LeetCode 016 3Sum Closest
- LeetCode 016 3Sum Closest
- [LeetCode]016-3Sum-Closest
- LeetCode 016 3Sum Closest
- LeetCode 016 3Sum Closest
- LeetCode-016 3Sum Closest
- LeetCode: 3 Sum Closest
- leetcode - 3 sum closest
- leetcode 3Sum Closest
- LeetCode: 3Sum Closest
- [Leetcode]3Sum Closest
- Leetcode: 3SUM Closest
- LeetCode 3Sum Closest
- [Leetcode] 3Sum Closest
- LeetCode : 3Sum Closest
- LeetCode 3Sum Closest
- [LeetCode] 3Sum Closest
- x264 参数详解【很强大、很细致,不再为不懂啥意思很烦恼】
- 用mysql表分区来优化大数据量的表
- 从一个队列中取出一个元素再放回去同时保持原来的顺序,不申请非必需的空间存储队列中的元素
- 人生不如意十之八九
- 汇总内表数据:at end of方法和collect方法
- LeetCode 016 3Sum Closest
- 理论加实践,谈谈我对memcached的学习感悟!
- PHP Warning之max_input_vars
- 【转】CSS FLOAT 学习笔记
- I/O文件流之二
- 大数据圈 15个新技术
- 虚拟键码对照表
- 关于GCC编译
- JAVA邮件发送的简单实现