给定一个包含 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]
]

package com.henu.likou;import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;public class Demo_力扣18四数之和 {public static void main(String[] args) {int[] nums = {1,0,-1,0,-2,2};int[] res = new int[4];ArrayList<String> list = new ArrayList<>();for (int i = 0; i < nums.length; i++) {for (int j = i+1; j < nums.length; j++) {for (int j2 = i+2; j2 < nums.length; j2++) {for (int k = i+3; k < nums.length; k++) {int a = nums[k];int b = nums[j2];int c = nums[j];int d = nums[i];if (a+b+c+d == 0) {res[0] = a;res[1] = b;res[2] = c;res[3] = d;Arrays.sort(res);//对输入数组进行排序,以便后续的排除list.add(Arrays.toString(res));res = new int[4];}}}}}
//      System.out.println(list);Map<String,Integer> hMap = new HashMap<>();for (int i = 0; i < list.size(); i++) {hMap.put(list.get(i), 1);}Set<Entry<String,Integer>> hSet = hMap.entrySet();for (Entry<String,Integer> entry : hSet) {System.out.println(entry.getKey());}}
}

java小编程----四数之和相关推荐

  1. java小编程----三数之和

    package com.henu.lmd;import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; ...

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

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

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

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

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

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

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

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

  6. 两数、三数、四数之和相关题目(Leetcode题解-Python语言)

    作为 Leetcode 的第一题,两数之和自然是知名度最高的,从两数之和出发也有不少的衍生题目,下面就让我们好好地解决它们. 1. 两数之和 class Solution:def twoSum(sel ...

  7. 20200127:(leetcode)四数之和(动态图解)

    四数之和 题目 基本思路 代码实现 题目 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + ...

  8. 代码随想录哈希表——四数之和

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

  9. ❤️导图整理数组6:四数组的四数之和,详解Counter类实现哈希表计数,力扣454❤️

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

最新文章

  1. 卷积有多少种?一文读懂深度学习中的各种卷积
  2. 3117 高精度练习之乘法
  3. linux c/c++
  4. python创建多个txt文件-python-在目录中创建多个文本文件的字数字...
  5. 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况
  6. Python应用02 Python服务器进化
  7. python——进程基础
  8. 做个轻松省力的父母的几个原则
  9. python基础——经营第一个项目,如何将python学得更6 ?
  10. java 如何去掉http debug日志_Java高手如何搭建高效易用的日志系统
  11. 3个高级Excel图表技巧
  12. macd底背离的python_Python量化交易之MACD'顶底背离'形态的实现,自动化交易!
  13. Wsus更新失败错误代码:0x80244022故障排除
  14. Tensorflow-saver模型参数保存及载入
  15. 深圳-银湖山郊野公园
  16. 700页JVM虚拟机实战手册,呕心巨作,值得一看
  17. c语言源程序自动评判系统,源程序的自动评判系统.PDF
  18. 车牌识别定位 matlab基本方法和操作
  19. Qt QVector 详解:从底层原理到高级用法
  20. 数字化技术在制造业的应用要点—产品开发篇

热门文章

  1. MATLAB插值问题
  2. POJ - 3683 Priest John's Busiest Day(2-SAT+路径打印)
  3. 洛谷 - P1036 选数(递归)
  4. UVa810 A Dicey Problem 筛子难题
  5. 2020已去,2021未来
  6. 动态规划算法-06Longest Valid Parentheses问题
  7. vector的reserve和resize
  8. 抓取dump的头文件
  9. 你已经用上 5G 网络了吗?
  10. 数据结构与算法 | 堆排序