当前位置: 首页 > news >正文

Leetcode 349 两个数组的交集 (哈希表)

Leetcode 349 两个数组的交集 (哈希表)

    • 解法1 😋
    • 解法2

在这里插入图片描述

解法1 😋

自己的笨比方法:【哇这居然是标准解法之一,我不是笨比😋😋😋】
创建了两个hash数组,nums1出现一个就对应位置变为-1,nums2出现一个对应位置就为-1,之后如果nums1[m]+nums2[m]
== -2,则说明是交集,使用arr.add()加到末尾,最后再将ArrayList 转化为int[ ] 数组

// ArrayList<Integer> 转化为int[ ] 数组
int[] array = new int[arr.size()];
for(int i = 0; i < arr.size(); i++){array[i] = arr.get(i);
}

时间复杂度O(N)
空间复杂度O(N)

class Solution {public int[] intersection(int[] nums1, int[] nums2) {// 数组作为hash表ArrayList<Integer> arr = new ArrayList<>();int[] hash1 = new int[1001];int[] hash2 = new int[1001];for(int i = 0; i < nums1.length; i++){hash1[nums1[i]] = -1;}for(int j = 0; j < nums2.length; j++){hash2[nums2[j]] = -1;}for(int m = 0; m <= 1000; m++){if(hash1[m]+hash2[m] == -2){arr.add(m);}}int[] array = new int[arr.size()];for (int i = 0; i < arr.size(); i++) {array[i] = arr.get(i);}return array;}
}  

解法2

时间复杂度O(N)
空间复杂度O(N)

http://www.lryc.cn/news/197455.html

相关文章:

  • 基于YOLOv8模型的水下目标检测系统(PyTorch+Pyside6+YOLOv8模型)
  • vue-cli脚手架创建项目时报错Error: command failed: npm install --loglevel error
  • c语言练习92:链表的中间结点
  • CentOS(4)——关于Linux软件下载时:amd64、x86、x86_64、arm64 的说明
  • 简单易学,让你拥有个性化的二维码
  • 开源原生android的视频编辑软件
  • 10kb的照片尺寸怎么弄?几个步骤轻松搞定!
  • uniapp-vue3-微信小程序-标签选择器wo-tag
  • 数据结构与算法-(9)---双端队列(Deque)
  • DTI综述(更新中)
  • 封装一个滑块控制灯光组件
  • flutter循环
  • 2.3 如何使用FlinkSQL读取写入到JDBC(MySQL)
  • Flink日志收集到数据库/kafka
  • Go项目踩坑:go get下载超时,goFrame框架下的go项目里将vue项目的dist同步打包发布,go项目打包并压缩
  • DataCon【签到题】挖矿流量检测
  • Vivado详细使用教程 | LED闪烁示例
  • 一些经典的神经网络(第17天)
  • Hadoop-HA-Hive-on-Spark 4台虚拟机安装配置文件
  • Hutool工具类参考文章
  • 【 Python ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全】
  • eclipse 配置selenium环境
  • 数据挖掘(6)聚类分析
  • 在启智平台上安装anconda
  • 棒球省队建设实施办法·棒球1号位
  • 架构案例2017(五十二)
  • 给四个点坐标计算两条直线的交点
  • 从入门到进阶 之 ElasticSearch SpringData 继承篇
  • 中文编程开发语言工具编程案例:计时计费管理系统软件连接灯控器编程案例
  • YOLOv7改进:动态蛇形卷积(Dynamic Snake Convolution),增强细微特征对小目标友好,实现涨点 | ICCV2023