From a07a58d5186aaad72deef514a99ab4f8a2ca3351 Mon Sep 17 00:00:00 2001 From: xikl <1392936858@qq.com> Date: Sat, 29 Dec 2018 00:16:11 +0800 Subject: [PATCH] =?UTF-8?q?map=E7=9A=84=E4=B8=80=E4=BA=9B=E5=86=99?= =?UTF-8?q?=E6=B3=95=E6=80=9D=E8=80=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../leetcode/solution349/Solution.java | 26 ++++++++++ .../leetcode/solution350/Solution.java | 51 +++++++++++++++++++ .../Solution.java | 2 +- 3 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/ximo/datastructuresinaction/leetcode/solution349/Solution.java create mode 100644 src/main/java/com/ximo/datastructuresinaction/leetcode/solution350/Solution.java rename src/main/java/com/ximo/datastructuresinaction/leetcode/{Solution804 => solution804}/Solution.java (94%) diff --git a/src/main/java/com/ximo/datastructuresinaction/leetcode/solution349/Solution.java b/src/main/java/com/ximo/datastructuresinaction/leetcode/solution349/Solution.java new file mode 100644 index 0000000..a435ce7 --- /dev/null +++ b/src/main/java/com/ximo/datastructuresinaction/leetcode/solution349/Solution.java @@ -0,0 +1,26 @@ +package com.ximo.datastructuresinaction.leetcode.solution349; + +import java.util.Arrays; +import java.util.Set; +import java.util.stream.Collectors; + +/** + * @author xikl + * @date 2018/12/28 + */ +public class Solution { + + + public int[] intersection(int[] nums1, int[] nums2) { + Set set1 = Arrays.stream(nums1).boxed().collect(Collectors.toSet()); + Set set2 = Arrays.stream(nums2).boxed().collect(Collectors.toSet()); + + set1.retainAll(set2); + + + return set1.stream().mapToInt(Integer::intValue).toArray(); + } + + + +} diff --git a/src/main/java/com/ximo/datastructuresinaction/leetcode/solution350/Solution.java b/src/main/java/com/ximo/datastructuresinaction/leetcode/solution350/Solution.java new file mode 100644 index 0000000..d635c10 --- /dev/null +++ b/src/main/java/com/ximo/datastructuresinaction/leetcode/solution350/Solution.java @@ -0,0 +1,51 @@ +package com.ximo.datastructuresinaction.leetcode.solution350; + + +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * @author xikl + * @date 2018/12/28 + */ +public class Solution { + + public int[] intersection(int[] nums1, int[] nums2) { + Map map = new HashMap<>(); + + for (int num : nums1) { +// if (!map.containsKey(num)) { +// map.put(num, 1); +// } else { +// map.put(num, map.get(num) + 1); +// } + + map.compute(num, (key, value) -> value == null ? 1 : value + 1); + } + + List list = new LinkedList<>(); + for (int num : nums2) { +// if (map.containsKey(num)) { +// list.add(num); +// map.put(num, map.get(num) - 1); +// if (map.get(num) == 0) { +// map.remove(num); +// } +// } + map.computeIfPresent(num, (key, value) -> { + list.add(key); + value = value - 1; + if (value == 0) { + map.remove(key); + } + return value; + }); + } + + return list.stream().mapToInt(Integer::intValue).toArray(); + } + + +} diff --git a/src/main/java/com/ximo/datastructuresinaction/leetcode/Solution804/Solution.java b/src/main/java/com/ximo/datastructuresinaction/leetcode/solution804/Solution.java similarity index 94% rename from src/main/java/com/ximo/datastructuresinaction/leetcode/Solution804/Solution.java rename to src/main/java/com/ximo/datastructuresinaction/leetcode/solution804/Solution.java index 7f600c4..1b56972 100644 --- a/src/main/java/com/ximo/datastructuresinaction/leetcode/Solution804/Solution.java +++ b/src/main/java/com/ximo/datastructuresinaction/leetcode/solution804/Solution.java @@ -1,4 +1,4 @@ -package com.ximo.datastructuresinaction.leetcode.Solution804; +package com.ximo.datastructuresinaction.leetcode.solution804; import java.util.Set; import java.util.TreeSet;