3Sum
来源:互联网 发布:ubuntu终端命令大全 编辑:程序博客网 时间:2024/06/07 18:19
输入一个列表,输出列表中任意三个数相加为零的集合
res = [] nums = sorted(nums) for i in range(0, len(nums) - 1): if i > 0 and nums[i] == nums[i - 1]: continue j = i + 1 k = len(nums) - 1 target = -nums[i] while j < k: if nums[j] + nums[k] > target: k -= 1 elif nums[j] + nums[k] < target: j += 1 else: res.append([nums[i], nums[j], nums[k]]) # 把判断加到添加列表后,如果下一个值与上一个值相同,那么直接跳过,就减少了好多if判断 while j < k - 1 and nums[j] == nums[j + 1]: j += 1 while k > j + 1 and nums[k] == nums[k - 1]: k -= 1 j += 1 k -= 1 return res
==菜鸡新手,改了两个小时,重点在加注释的地方,还有使用while,解决了列表排序后的2,2,2,2,2连续值相等的问题。据说这个是最简单的,时间复杂度O(nlgn)
阅读全文
0 0
- Two Sum && 3 Sum
- 【Leetcode】3Sum (Sum)
- 3Sum 3Sum Closest 4Sum
- 3Sum & 3Sum Closest & 4Sum
- 3sum、3Sum closet、 4sum
- 3Sum, 3Sum Closest, 4 Sum
- leetcode 2 sum 3sum 4sum
- 2Sum 3Sum 4Sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- 3Sum
- 3SUM
- 3-sum
- 3Sum
- 3Sum
- 3Sum
- 3Sum
- 二叉堆基本模板
- 用Python生成二维码
- idea设置作者
- HDU 2056 Rectangles(矩形相交判断)
- [C-C++]DLL之旅2 : 调用DLL(静态&动态加载)
- 3Sum
- 女朋友生气了该怎么办·《每天懂一点爱情心理学》·一
- 生活小记47
- 11-20 Python 字符串练习 ——“大数字”
- 利用dom4j 对nessus xml文件解析,并存入mysql
- kvm中支持SCSI硬盘接口
- 树莓派-pypi-UART串口
- Python3 将百词斩已经学过单词爬取保存到excel
- Spring MVC 文件上传空指针问题记录