博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode算法题——给定数组求可满足的三元组
阅读量:3958 次
发布时间:2019-05-24

本文共 1080 字,大约阅读时间需要 3 分钟。

题目

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 找出所有满足条件且不重复的三元组。

注意:答案中不可以包含重复的三元组。

例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],

满足要求的三元组集合为:

[
  [-1, 0, 1],
  [-1, -1, 2]
]
 

代码实现

public class demo {		public static HashMap
findTriple(HashMap
map1,HashMap
map2) { int result_index = 0; HashMap
last_over = new HashMap<>(); String[] result = new String[100]; //第一个for循环表示map1的元素从左到右移动长度 for(int i=0;i
=0) { System.out.println("该数组中不存在三元组"); }else if(first[first.length-1]<=0){ System.out.println("该数组中不存在三元组"); }else { HashMap
map1 = new HashMap<>(); HashMap
map2 = new HashMap<>(); int map1_index = 0; int map2_index = 0; for(int i=0;i
end1 = findTriple(map1, map2); HashMap
end2 = findTriple(map2, map1); ArrayList
over = new ArrayList<>(); for(String key:end1.keySet()) { over.add(key); } for(String key:end2.keySet()) { over.add(key); } if(map2_0==3) { over.add("["+0+","+0+","+0+"]"); } if(over.size()==0) { System.out.println("该数组中不存在三元组"); }else { System.out.println(over); } } }}

 

转载地址:http://viazi.baihongyu.com/

你可能感兴趣的文章
linux数据库导出结果集且比对 && grep -v ---无法过滤的问题
查看>>
shell函数与自带变量
查看>>
linux下shell获取不到PID
查看>>
sort详解
查看>>
linux,shell中if else if的写法,if elif
查看>>
shell中单引号、双引号、反引号的区别
查看>>
shell脚本死循环方法
查看>>
shell中$*和$@的区别
查看>>
log4cxx 的编译安装过程和使用
查看>>
简单邮件系统程序
查看>>
STL里的multimap使用详解
查看>>
STL 库其中的 std::string用法总结
查看>>
模态对话框的销毁过程与非模态对话的几种销毁方法
查看>>
C++实现http下载 && 24点计算编码风格
查看>>
memcached了解使用和常用命令详解
查看>>
GDB调试各功能总结
查看>>
"undefined reference to" 多种可能出现的问题解决方法
查看>>
类结构定义
查看>>
Windows下关于多线程类 CSemaphore,CMutex,CCriticalSection,CEvent,信号量CSemaphore的使用介绍
查看>>
图像处理基本算法(汇总)以及实现
查看>>