349. 两个数组的交集(力扣)(OJ题)

题目链接:349. 两个数组的交集 - 力扣(LeetCode)

个人博客主页:https://blog.csdn.net/2301_79293429?type=blog
专栏:https://blog.csdn.net/2301_79293429/category_12545690.html

给定两个数组 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

思路:

排序与双指针 

参考代码:

/*思路:排序+双指针*/
int cmp(const void* e1, const void* e2)
{return *(int*)e1 - *(int*)e2;
}int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize)
{int book[1005] = { 0 };//要有一个标记的数组,防止数组中出现重复的数qsort(nums1, nums1Size, sizeof(nums1[0]), cmp);qsort(nums2, nums2Size, sizeof(nums2[0]), cmp);int a = nums1Size < nums2Size ? nums1Size : nums2Size;int* c = (int*)malloc(a * sizeof(nums1[0]));/*交集最多的元素最多为两数组中元素少的数组的元素个数*/int i = 0, j = 0, h = 0;//i:nums1的下标 j:nums2的下标   h:c的下标while (i < nums1Size && j < nums2Size){//注意范围if(nums1[i] == nums2[j]){if (book[nums1[i]] == 0)//避免重复的元素出现在数组中{book[nums1[i]] = 1;c[h] = nums1[i];h++;}i++;/**/j++;/**/}else if (nums1[i] > nums2[j]){j++;}else{i++;}}*returnSize = h;/**/int* b = (int*)malloc(h * sizeof(nums1[0]));/**/for (int i = 0; i < h; i++){b[i] = c[i];}return b;
}

 恭喜你今天又进步一点点啦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/632051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

具有中国特色的普及工厂数字化转型的新路子

工业互联网浪潮来袭&#xff0c;你准备好了吗&#xff1f; 国家智能制造专委会委员、浙江省智能制造专家委员会毛光烈主任在“第七届中国工业大数据大会”上的演讲&#xff0c;《具有中国特色的普及工厂数字化转型的新路子》&#xff0c;阐述了关于工厂订单全流程业务数据体系运…

计算机网络(第六版)复习提纲4

计算机网络的体系结构&#xff1a; 三类体系结构&#xff1a; OSI七层&#xff1a;物理层比特位传输&#xff0c;链路层相邻链路传输检验&#xff0c;网络层进行路由选择&#xff0c;运输层实现端到端进程通信&#xff0c;会话层连接管理&#xff0c;表示层数据格式&#xff0c…

Scrapy配置文件设置(全网最全)

Scrapy配置设置(全网最全&#xff09;&#xff1a; 背景&#xff1a; ​ 之前在做爬虫项目的时候&#xff0c;老报错或有问题&#xff0c;我看了网上很多文章&#xff0c;但是都不是很全面&#xff0c;在这里写一篇博客给大家讲讲scrapy文件中的setting.py文件&#xff0c;我…

每周一算法:数独游戏

题目链接 数独游戏 题目描述 数独是根据 9 9 9 \times 9 99 盘面上的已知数字&#xff0c;推理出所有剩余空格的数字&#xff0c;并满足每一行、每一列、每一个粗线宫内的数字均含 1 − 9 1 - 9 1−9 &#xff0c;不重复。每一道合格的数独谜题都有且仅有唯一答案&#x…

3.11.0:compile (default-compile) on project demo: Fatal error compiling: 无效的标记:

1.问题 程序配置如下&#xff1a; SpringBoot 版本&#xff1a;3.2.1 java版本&#xff1a;1.8 启动springboot 报错如下&#xff1a; Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project demo: Fatal e…

align-item 和 align-content

align-item 和 align-content flex 布局中的 align-items 和 align-content 属性都用于垂直对齐 flex 容器内的项目&#xff0c;但它们适用于不同的情况&#xff1a; align-items: 这个属性用于在交叉轴上对齐单行内的 flex 项目。当你有一个 flex 容器&#xff0c;并且里面的…

通信入门系列——信号的频谱分析

一、信号频谱 信号的频谱&#xff0c;指的是一段频率范围内的情况&#xff0c;信号的幅度和相位的情况。 以一个频率为1Hz的余弦电压信号进行说明&#xff0c;这个信号的傅里叶变换为X(ω)πδ(ω-2π)πδ(ω2π)&#xff0c;也就是所谓的频谱密度&#xff0c;单位为V/(rad/…

要在Linux上安装Docker Compose和nginx

一、要在Linux上安装Docker Compose&#xff0c;您可以按照以下步骤进行操作&#xff1a; 确保您的Linux系统已经安装了Docker。您可以通过运行以下命令来检查Docker是否已经安装&#xff1a; docker --version如果Docker未安装&#xff0c;请先安装Docker。 下载Docker Compo…

好用的网站性能监测与服务可用性监测工具盘点

盘点市面上常见好用的网站性能监测与服务可用性监测工具&#xff0c;以下工具各有所长&#xff0c;有需求自取。 网站性能检测 1. 百川云 由长亭科技提供&#xff0c;一家专注于网安的实力厂商。百川云网站监测&#xff1a;长亭科技自研的网站稳定性、安全性监控 saas 应用工…

vue3-表单输入绑定

表单输入绑定 获取表单输入的值方式&#xff1a; 手动连接值绑定和更改事件监听器 v-model 指令 &#xff08;常用&#xff09; <script lang"ts" setup> import { ref } from "vue" // 定义个变量接收输入的内容&#xff1a; const text ref(&…

PMP冲突解决策略:项目经理的必备技能

原创不易&#xff0c;你们的点赞收藏是我创作的动力&#xff01; 在项目管理领域&#xff0c;冲突是不可避免的现象。作为项目经理&#xff0c;掌握有效的冲突解决策略至关重要。本文将为您详细介绍PMP&#xff08;项目管理专业&#xff09;中常用的几种冲突解决策略&#xff…

Android studio Sqlite数据库应用设计

一、添加依赖项: 在项目的build.gradle文件中添加以下依赖项:implementation androidx.sqlite:sqlite:2.2.0 二、创建SQLite数据库: 创建一个继承自SQLiteOpenHelper的类,用于管理数据库的创建和版本控制。在该类中定义数据库的表和列,并实现数据库的创建和更新。 publi…

rviz可视化机械臂(python)

一、准备的东西 一个机械臂的urdf 规划的路径点 二、launch文件的撰写 1.初始化 <?xml version"1.0" encoding"utf-8"?> <launch><param name"robot_description" textfile"机械臂.urdf" /><node name&qu…

开发常用的核验类API,含免费次数

核验类API 实名认证&#xff08;身份证二要素&#xff09;&#xff1a;核验身份证二要素&#xff08;姓名和身份证号码&#xff09;信息是否一致。实人认证&#xff08;人像三要素&#xff09;&#xff1a;输入姓名、身份证号码和一张人脸照片&#xff0c;与公安库身份证头像进…

Kotlin-控制流程

&#x1f4d1;前言 本文主要是【Kotlin】——Kotlin-控制流程的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日一句…

vue:状态管理库及其部分原理(Vuex、Pinia)

1、为什么要用状态管理库&#xff1f; 多组件的状态共享问题&#xff1a; 当多个组件需要访问和修改相同的数据时&#xff0c;我们需要在组件之间传递 props或者使用事件总线。当&#xff0c;应用就会变得难以维护和调试。 多组件状态同步问题&#xff1a; 当一个组件修改了状…

mac下配置git自定义快捷命令

1. 指定自定义别名 vi ~/.bash_profile open ~/.bash_profile 配置环境变量,插入类似下面的内容 .bash_profile文件 alias gcgit checkout alias gmgit commit -m alias gcbgit checkout -balias gtgit statusalias gagit add .alias glggit logalias gdgit diffalias gr…

mysql安装及部署

1.在/usr/local下创建mysql目录 cd /usr/local mkdir /mysql 2.在mysql目录中下载 cd mysql/ wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.34-1.el9.x86_64.rpm-bundle.tar 3.解压 tar xvf mysql-8.0.34-1.el9.x86_64.rpm-bundle.tar 4.安装 dnf localinst…

Ivanti Connect Secure 曝两大零日漏洞,已被大规模利用

威胁情报公司Volexity发现&#xff0c;影响 Ivanti 的 Connect Secure VPN 和 Policy Secure 网络访问控制 (NAC) 设备的两个零日漏洞正在被大规模利用。自1月11日开始&#xff0c;多个威胁组织在大范围攻击中利用CVE-2023-46805身份验证绕过和CVE-2024-21887命令注入漏洞。 V…

vue如何通过$http的post方法请求下载二进制的Excel文件

方式一&#xff1a;单独接口,接口封装 特定的service.js 1.下载 //下载 export function getReportTemplate(){return new Promise((resolve, reject) > {axios({method: post,url: /fas/engine/web/fund/final/template,responseType: "blob",headers: {Conten…