和为零的三元组
题目链接:
https://code.mi.com/problem/list/view?id=15
描述
给出一个整数数组, 数组中是否存在任意 3 个数 a, b, c 满足 a + b + c = 0? 找出数组中所有满足以上条件的三元组,最后输出这些三元组的个数(包含相同元素的三元组只计算一次)。
输入
一个包含多个整数(正或负)的字符串,每个整数之间用逗号(,)分隔,如:-1,0,1,2,-1,-4。
输出
输入满足加和结果正好等于 0 的三元组的个数,如对于 -1,0,1,2,-1,-4 有 [-1, 0, 1] 和 [-1, -1, 2],所以输出 2
输入样例
-1,0,1,2,-1,-4
输出样例
2
我的思路
其实思想比较简单,就是分成左右两个指针,然后分别计算左右的和,然后算出两个的值的和,
为了要三个值和为0,就从一个map去找是否存在另一个值。
代码实现
import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
String[] sArr = scan.nextLine().split(&#