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

LeeCode349. 两个数的交集

给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

示例 1:

输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]

示例 2:

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解释:[4,9] 也是可通过的

提示:

  • 1 <= nums1.length, nums2.length <= 1000
  • 0 <= nums1[i], nums2[i] <= 1000

分析: 统计每个数组中各个数出现的个数 ,判断哪些数满足条件。这里利用了提示,数组中的数都在0 - 1000 范围内,所以用长度1001的数组就可以统计每个数出现个数。代码:

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {vector<int> coutVec1(1001, 0); // 这里投机取巧了,因为数组中每个数的都在0 - 1000 之间,现在统计每个数在数组1中出现的次数vector<int> coutVec2(1001, 0); // 同理,记录数组2中每个数出现的次数,结果存到coutVec2数组中。for (auto val : nums1) {coutVec1[val]++;}for (auto val : nums2) {coutVec2[val]++;}vector<int> res;for (int i = 0; i < 1001; i++) {if (coutVec1[i] > 0 && coutVec2[i] > 0) {res.push_back(i);}}return res;}
};

发布到LeeCode测试:

ok. 

http://www.lqws.cn/news/518293.html

相关文章:

  • 基于大模型的甲状腺结节预测及综合诊疗技术方案大纲
  • 防火墙快速管理软件,66K超小巧
  • Java 日志框架选型:SLF4J + Logback vs. Log4j2 的深度解析
  • iClone 中创建的面部动画导入 Daz 3D
  • Spring AOP 中有多个切面时执行顺序是怎样的?
  • Android14音频子系统-Audio HAL分析
  • 南北差异之——跨端理解能力
  • sql格式化自动识别SQL语法结构
  • gsql: command not found
  • OpenLayers 上传Shapefile文件
  • 基于 Python 的批量文件重命名软件设计与实现
  • 智哪儿专访 | Matter中国提速:开放标准如何破局智能家居“生态孤岛”?
  • 舵机在智能家居里的应用
  • 第k个数字
  • 归并排序算法
  • 企业内部安全组网技术解析:安全通道选型、零信任架构与数据合规加密防护
  • 计算机网络-----详解HTTP协议
  • 基于springboot+vue的智慧农业专家远程指导系统
  • 苹果签名应用掉签频繁原因排查,以及如何避免
  • Mysql使用窗口函数查询
  • 左神算法之有序二维矩阵中的目标值查找
  • vscode管理go多个版本
  • 英飞凌高性能BMS解决方案助力汽车电动化
  • 【世纪龙科技】新能源汽车VR虚拟体验展示馆-解锁认知新维度
  • 灰度发布怎么保证数据库一致的
  • AES加密:为你的PDF文档加上一道钢铁防线
  • Kubernetes、Docker Swarm 与 Nomad 容器编排方案深度对比与选型指导
  • 论文阅读:A Survey on Large Language Models for Code Generation
  • 不用vue,只用html,即可简单实现electron项目
  • 鸿蒙OpenHarmony[Disassembler反汇编工具]ArkTS运编译工具链