Lc349_Intersection
1import java.util.HashSet;
2import java.util.Set;
3
4/**
5 * 349. 两个数组的交集
6 * 给定两个数组,编写一个函数来计算它们的交集。
7 * <p>
8 * <p>
9 * <p>
10 * 示例 1:
11 * <p>
12 * 输入:nums1 = [1,2,2,1], nums2 = [2,2]
13 * 输出:[2]
14 * 示例 2:
15 * <p>
16 * 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
17 * 输出:[9,4]
18 * <p>
19 * <p>
20 * 说明:
21 * <p>
22 * 输出结果中的每个元素一定是唯一的。
23 * 我们可以不考虑输出结果的顺序。
24 */
25public class Intersection {
26 /**
27 * 通过hash表实现,因为没有限制大小 所以用集合
28 *
29 * @param nums1
30 * @param nums2
31 * @return
32 */
33 public static int[] intersection(int[] nums1, int[] nums2) {
34 Set<Integer> set = new HashSet<>();
35 Set<Integer> res = new HashSet<>();
36
37
38 for (int i = 0; i < nums1.length; i++) {
39 set.add(nums1[i]);
40 }
41 for (int i = 0; i < nums2.length; i++) {
42 if (set.contains(nums2[i])) {
43 res.add(nums2[i]);
44 }
45 }
46
47
48 int resArray[] = new int[res.size()];
49 int j = 0;
50 for (Integer r : res) {
51 resArray[j++] = r.intValue();
52 }
53
54 return resArray;
55 }
56
57 public static void main(String[] args) {
58 int [] nums1 = {4,9,5}, nums2 = {9,4,9,8,4};
59 intersection(nums1,nums2);
60 }
61}
不恋尘世浮华,不写红尘纷扰
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理