java小编程----三数之和
生活随笔
收集整理的這篇文章主要介紹了
java小编程----三数之和
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.henu.lmd;import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map.Entry;
import java.util.Set;
/** 給定一個包含 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 Demo03_力扣15 {public static void main(String[] args) {int[] nums = {-4,-1,-1,0,0,0,1,2,-1,-4,8};List<String> list = new ArrayList<>();int[] res = new int[3];for (int i = 0; i < nums.length; i++) {for (int j = i+1; j < nums.length; j++) {for (int k = j+1; k < nums.length; k++) {if (nums[i] + nums[j] + nums[k] == 0) {res[0] = nums[i];res[1] = nums[j];res[2] = nums[k];Arrays.sort(res);//對輸入數組進行排序,以便后續的排除list.add(Arrays.toString(res));res = new int[3];}}}}
// System.out.println(list);//[[-1, 0, 1], [-1, 2, -1], [-1, 0, -1]]HashMap<String,Integer> hMap = new HashMap<>();for (int i = 0; i < list.size(); i++) {hMap.put(list.get(i), 1);} Set<Entry<String,Integer>> eSet = hMap.entrySet();for (Entry<String,Integer> entry : eSet) {System.out.println(entry.getKey());}}}
?
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的java小编程----三数之和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java小编程----盛最多水的容器
- 下一篇: java小编程----最接近的三数之和