leetcode.array--18. 4Sum
来源:互联网 发布:护眼软件有用吗 编辑:程序博客网 时间:2024/05/01 20:01
题目:18. 4Sum
问题描述:https://leetcode.com/problems/4sum/description/
大致意思呢就是在一个序列中找到四个数,使得这四个数相加等于target。写了一个N^3暴力查找,过了哈哈哈。只不过这个题目和之前几个一直在算加法
Python:
class Solution(object): def fourSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[List[int]] """ res=[] length=len(nums) if length<4: return [] if length==4 and sum(nums)==target: res.append(nums) return res nums.sort() for i in range(length-3): if i>0 and nums[i]==nums[i-1]: continue for j in range(i+1,length-2): if nums[i]+nums[j]+nums[j+1]+nums[j+2]>target: break if nums[i]+nums[j]+nums[length-1]+nums[length-2]<target: continue if nums[j]==nums[j-1] and j>i+1: continue left=j+1 right=length-1 while left<right: tempsum=nums[i]+nums[j]+nums[left]+nums[right] if tempsum>target: right-=1 elif tempsum<target: left+=1 else: res.append([nums[i], nums[j], nums[left], nums[right]]) left+=1 right-=1 while nums[left]==nums[left-1] and left<right: left+=1 while nums[right]==nums[right+1] and right>left: right-=1 return res
阅读全文
0 0
- leetcode.array--18. 4Sum
- LeetCode[Array]---- 4Sum
- LeetCode--Array---4Sum
- 18. 4Sum leetcode (array) 总结
- 18. 4Sum--Array--LeetCode--C++
- LeetCode[Array]----3Sum
- 15.3sum leetcode(array)
- Leetcode - Pointers/Array - Two sum
- LeetCode[Array]----3Sum Closest
- LeetCode: Split Array Largest Sum
- 1.Two Sum leetcode(array)
- LeetCode-Array-1. Two Sum
- [Leetcode] Split Array Largest Sum
- LeetCode刷题【Array】 Two Sum
- leetcode.array--1. Two Sum
- Array -- Leetcode problem1. Two Sum
- leetcode.array--15. 3Sum
- leetcode.array--39. Combination Sum
- 自己实现集合框架(五):利用单链表解决约瑟夫环问题
- 自己实现集合框架(六):实现单链表逆转
- 自己实现集合框架(十):双链表的实现
- 自己实现集合框架(十四):队列接口
- The Little Redis Book中文版 第三章
- leetcode.array--18. 4Sum
- 工作三年了--我的2015,我以前的大三
- 图上的文章续(KM算法)
- Golang语言社区--结构体数据排序
- WPF自定义样式系列(二)——TextBox输入框样式(部分带水印)
- 验证日期满足 yyyy-MM-dd
- 并发模型之并发读写
- Easyui datebox单击文本框显示日期选择 eayui版本1.5.3
- python time模块