给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。

注意:

答案中不可以包含重复的四元组。

示例:

给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:
[[-1,  0, 0, 1],[-2, -1, 1, 2],[-2,  0, 0, 2]
]

暴力+剪枝

这题也比较简单,直接暴力+剪枝就能过。

Code

 def fourSum(self, nums: List[int], target: int) -> List[List[int]]:length, ans = len(nums), list()for i in range(length - 3):for j in range(i + 1, length - 2):for k in range(j + 1, length - 1):if target - (nums[i] + nums[j] + nums[k]) in nums[k + 1:]:tmp = sorted([nums[i], nums[j], nums[k], target - (nums[i] + nums[j] + nums[k])])if tmp not in ans:ans.append(tmp)return ans

18. 4Sum 四数之和相关推荐

  1. Leetcode(18)-四数之和

    给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...

  2. Leedcode编程题18: 四数之和----C++实现

    目的 旨在记录在Leedcode网上刷题的过程,记录心得. 题目 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得  ...

  3. 代码随想录算法训练营第七天|454、四数相加Ⅱ 383、赎金信15、三数之和18、四数之和

    454.四数相加Ⅱ.383.赎金信.15.三数之和四数之和 四数相加 对于四数相加,我们可以定义一个map用来记录nums1与nums2的和对应次数,再遍历nums3与nums4,如果存在c与d使得a ...

  4. 代码随想录算法训练营第七天|454.四数相加II 、 383. 赎金信 、15. 三数之和、18. 四数之和

    454.四数相加II 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, ...

  5. Suzy找到实习了吗Day 7 | 哈希表结束啦 454. 四数相加 II,383. 赎金信,15. 三数之和,18. 四数之和

    454. 四数相加 II(dict hash) 题目 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足 ...

  6. 代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和

    代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和 454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体 ...

  7. 代码随想录算法训练营第07天 | LeetCode 454.四数相加2,383. 赎金信,15. 三数之和,18. 四数之和,总结

    LeetCode [454. 四数相加 II] 题目:给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足 ...

  8. leetcode系列--18.四数之和

    leetcode系列–18.四数之和 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target .请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], ...

  9. ❤️导图整理数组5: 四数之和 相比 三数之和 的大量优化, 力扣18详细注解❤️

    此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), ...

最新文章

  1. java程序的装载与检查_浅谈Java类型装载、连接与初始化
  2. 线程安全与可重入函数的区别及联系
  3. Linux Shell学习(3)
  4. python空列表添加_Python列表的简单操作
  5. 输入框中光标过长原因
  6. 用脚本管理服务器日志
  7. 从Client应用场景介绍IdentityServer4(二)
  8. 模板模式 php,PHP设计模式5-模板模式
  9. java实现账号登陆界面_java用户登录界面的代码
  10. java除法运算有小数_Java 整数间的除法运算如何保留所有小数位?
  11. 华氏温度与摄氏温度转换 java_用JAVA写一个将华氏温度转换成摄氏温度的程序
  12. 张驰咨询:某能源公司举办首期精益六西格玛黑带项目结硕果
  13. MD5的标准幻数的不同写法
  14. Python Leetcode(507.完美数)
  15. matlab中读文件的行数_【Matlab】 读取文件各种方法
  16. K210学习笔记(十)——二维码识别
  17. Axure 蚂蚁设计团队组件库 让交互稿美美搭
  18. 新装电脑系统,会自动安装乱七八糟的软件问题处理法
  19. CRUX OCR:腾讯云分析永久开放免费OCR服务
  20. Vue中ref的作用???

热门文章

  1. PHP中oop面向对象基础知识(一)
  2. Java集合框架总结(5)——Map接口的使用
  3. HttpClient的释放问题
  4. sqlserver结果集转为字符串
  5. batch spring 重复执行_Spring源码高级笔记之——Spring AOP应用
  6. java 容器_JAVA的容器
  7. 实验8.2 指针与字符串 7-2 字符串排序
  8. html卷轴展开,HTML文本框滚动代码4:卷轴变化应用
  9. 黑客数字雨html单页,Hei客帝国数字雨.html
  10. 通过zookeeper连接hive beeline