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

两个数组的交集-C语言/Java

描述

        给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序。(1 <= nums1.length, nums2.length <= 1000,0 <= nums1[i], nums2[i] <= 1000)

示例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] 也是可通过的

       思路:新建一个数组,将输入的一个数组的值作为新建数组的下标,相应下标i的新建数组的值设为1,表示数i的个数有1个,如果输入的另一个数组的值,在新建的数组的对应下标的数组值为1,将其数值设为2,表明数i在输入的两个数组中都有,再将新建数组中值为2的下标放入新数组中。

 

        C语言

int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize){

        int* arr=(int*)malloc(sizeof(int)*1000);

        //两个集合相同元素的个数

        int count=0;

        for(int i=0;i<nums1Size;i++)

        {

                arr[nums1[i]]=1;

        }

        for(int i=0;i<nums2Size;i++)

        {

            //num2[i]为两个数组共有元素

            if(arr[nums2[i]]==1)

            {

                arr[nums2[i]]=2;

                count++;

            }

        }

        *returnSize=count;

        //存放两个数组的集合

        int* p=(int*)malloc(sizeof(int)*(nums1Size>nums2Size?nums1Size:nums2Size));

        int j=0;

        for(int i=0;i<1000;i++)

        {

            if(arr[i]==2)

            {

                p[j++]=i;

                count--;

            }

            if(count==0)

            break;

        }

        return p;

}

        Java

class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
    int[] temp = new int[1001];
        for (int i = 0; i < nums1.length; i++) {
            if (temp[nums1[i]]==0) temp[nums1[i]]=1;
        }
        int num = 0;
        for (int i = 0; i < nums2.length; i++) {
            if (temp[nums2[i]]==1){
                temp[nums2[i]]=2;
                num++;
            } 
        }
        int[] res = new int[num];
        for (int i = 0; i < 1001; i++) {
            if (temp[i]==2){
                res[--num] = i;
            }
        }
        return res;    
    }
}

相关文章:

两个数组的交集-C语言/Java

描述 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序。&#xff08;1 < nums1.length, nums2.length < 1000&#xff0c;0 < nums1[i], nums2[i] < 1000&#xff09; 示例1 输入…...

Arduino+esp32学习笔记

学习目标&#xff1a; 使用Arduino配置好蓝牙或者wifi模块 学习使用python配置好蓝牙或者wifi模块 学习内容&#xff08;笔记&#xff09;&#xff1a; 一、 Arduino语法基础 Arduino语法是基于C的语法,C又是c基础上增加了面向对象思想等进阶语言。那就只记录没见过的。 单多…...

计算机网络-专业术语

计算机网络-专业术语 实体 实体:任何可发送或接收信息的硬件或软件进程 对等实体:收发双方相同层次中的实体 协议 控制两个对等实体进行逻辑通信的规则的集合 协议三要素 语法 定义所交换的信息的格式 是用户数据与控制信息的结构和格式 语义 定义收发双方所需要完成的操作…...

E. Maximum Monogonosity

You are given an array aa of length nn and an array bb of length nn. The cost of a segment [l,r][l,r], 1≤l≤r≤n1≤l≤r≤n, is defined as |bl−ar||br−al||bl−ar||br−al|. Recall that two segments [l1,r1][l1,r1], 1≤l1≤r1≤n1≤l1≤r1≤n, and [l2,r2][l2,…...

已解决Excel file format cannot be determined, you must specify an engine manually

问题 我使用以下语句时出现错误 data pd.read_excel(temp_inputc.csv, headerNone)出现错误&#xff1a; Excel file format cannot be determined, you must specify an engine manually有很多人说添加engine&#xff0c;但接下来会出现这个错误&#xff1a; File is not…...

Centos yum命令大全

1.使用YUM查找软件包 $ yum search python 2.列出所有可安装的软件包 $ yum list | grep python 3.列出所有可更新的软件包 $ yum list updates 4.列出所有已安装的软件包 $ yum list installed | grep python...

内网横向移动—ARP攻击图片捕捉数据劫持DNS劫持

内网横向移动—ARP攻击&图片捕捉&数据劫持&DNS劫持 1. ARP1.1. APR介绍1.1.1. ARP工作原理1.1.2. APR欺骗工作原理 1.2. 环境准备1.3. 适用场景 2. ARP断网攻击演示2.1. 使用kali进行演示2.1.1. nmap判断存活2.1.2. 安装工具2.1.3. 攻击Windows 10虚拟机2.1.3.1. 查…...

react之Hooks的介绍、useState与useEffect副作用的使用

react之Hooks的介绍、useState与useEffect副作用的使用 一、Hooks的基本介绍二、useState的使用2.1 简单使用2.2 数组结构简化2.3 状态的读取和修改2.3 组件的更新过程 三、useEffect的使用3.1 副作用介绍3.2 基本使用3.3 依赖3.4 不要对依赖项撒谎3.5 依赖项可以是空数组3.6 清…...

django——创建 Django 项目和 APP

2.创建 Django 项目和 APP 命令&#xff1a; 创建Django项目 django-admin startproject name 创建子应用 python manager.py startapp name 2.1 创建工程 在使用Flask框架时&#xff0c;项目工程目录的组织与创建是需要我们自己手动创建完成的。 在django中&#xff0c;…...

== 和 equals 的对比 [面试题]

和 equals 的对比[面试题] 文章目录 和 equals 的对比[面试题]1. 和 equals 简介2. Object 类中 equals() 源码3. String 类中 equals() 源码4. Integer 类中 equals() 源码5. 如何重写 equals 方法 1. 和 equals 简介 是一个比较运算符 &#xff1a;既可以判断基本数据类型…...

SpringBoot集成Redis及Redis使用方法

目录 应用背景 Redis简介 更新问题 一&#xff1a;环境配置 1.1: 在pom.xml文件中添加依赖 1.2&#xff1a;配置SpringBoot核心配置文件application.properties 二&#xff1a;在Config文件夹中创建RedisConfig配置文件类 2.1&#xff1a;RedisTemplate中的几个角色&am…...

Redis可以用作数据库吗?它的适用场景是什么?

是的&#xff0c;Redis可以用作数据库。虽然Redis通常被认为是一个内存数据库&#xff08;in-memory database&#xff09;&#xff0c;但它也可以通过持久化机制将数据保存在磁盘上&#xff0c;以便在重启后恢复数据。 Redis的适用场景包括但不限于以下几个方面&#xff1a; …...

@Param详解

文章目录 背景什么是ParamParam的使用方法使用方法&#xff1a;遇到的问题及因Param解决了什么问题使用与不使用对比 Param是如何进行映射的总结 背景 最近在开发过程中&#xff0c;在写mapper接口是在参数前加了Param注解&#xff0c;但是在运行的时候就会报错&#xff0c;说…...

自定义分页工具类

前言 在日常的开发工作中&#xff0c;会遇到很多不确定的需求场景&#xff0c;无法使用第三方提供的分页组件来实现&#xff0c;那么如何自己实现一个简单的分页工具类呢&#xff1f; 工具类 第一版本&#xff1a; Setter Getter public class PageTool<T> {/*** 当前…...

文本数据保存

文本数据保存 工具目的代码运行结果 工具 pycharm 目的 网址:https://ljgk.envsc.cn/ 需求&#xff1a;获取到地址&#xff08;address&#xff09;&#xff0c;公司名字&#xff08;ps_name&#xff09;&#xff0c;创建的时间&#xff08;create_time&#xff09;&#xff…...

Python爬虫:抓取表情包的下载链接

Python爬虫:抓取表情包的下载链接 1. 前言2. 具体实现3. 实现代码 1. 前言 最近发现了一个提供表情包的网址&#xff0c;觉得上面的内容不错&#xff0c;于是就考虑用Python爬虫获取上面表情包的下载链接。整体而言&#xff0c;实现这个挺简单的&#xff0c;就是找到提供表情包…...

(文章复现)基于灰狼算法(GWO)的交直流混合微网经济调度matlab代码

参考文献&#xff1a; [1]高瑜,黄森,陈刘鑫等.基于改进灰狼算法的并网交流微电网经济优化调度[J].科学技术与工程, 2020,20(28):11605-11611. [2]邓长征,冯朕,邱立等.基于混沌灰狼算法的交直流混合微网经济调度[J].电测与仪表, 2020, 57(04):99-107. 这两篇文章不管是从模型、…...

【Kubernetes】Kubernetes的调度

K8S调度 一、Kubernetes 调度1. Pod 调度介绍2. Pod 启动创建过程3. Kubernetes 的调度过程3.1 调度需要考虑的问题3.2 具体调度过程 二、影响kubernetes调度的因素1. nodeName2. nodeSelector3. 亲和性3.1 三种亲和性的区别3.2 键值运算关系3.3 节点亲和性3.4 Pod 亲和性3.5 P…...

题目:2511.最多可以摧毁的敌人城堡数量

​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;2511. 最多可以摧毁的敌人城堡数目 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 顺序遍历数组&#xff0c;记录上一个我军城堡和没有城堡的位置。当碰到空位置时&#xff0c;若上一次更新的…...

22 | 书籍推荐数据分析

import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn import neighbors from sklearn.model_selection import train_test_split from sklearn.preprocessing import...

014、LangChain 入门到底先学什么?用一个知识库问答项目讲清 PromptTemplate、Chain 和 Output Parser

上一篇我们刚刚讲完,为什么很多做AI应用的人到了后面都会遇到LangChain。 但是真正开始学的时候,新的问题马上就会出现:知道LangChain重要,并不等于了解LangChain应该从哪里入手。 这也是很多人最容易被劝退的地方。一看到LangChain就会冒出一堆概念:Prompt、Chain、Run…...

什么是逆向工程?

什么是逆向工程&#xff1f;逆向工程是解构、剖析和分析硬件设备、软件程序或系统以了解其内部工作原理、设计、漏洞和功能的过程&#xff1b;它也代表一把双刃剑。虽然它对开发人员来说是一个有用的工具&#xff0c;但在恶意行为者手中&#xff0c;逆向工程用于发现和利用应用…...

STM32 串口 FIFO 与 DMA 高效数据流设计

1. 为什么需要FIFODMA的串口方案 第一次用STM32做串口通信时&#xff0c;我天真地以为直接调用HAL_UART_Receive_IT()就能搞定所有问题。结果在工业现场调试时&#xff0c;当传感器以115200波特率连续发送数据时&#xff0c;系统直接卡死——这就是典型的数据淹没问题。后来发现…...

python lint-staged

# 聊聊 Python 项目中的 lint-staged&#xff1a;一个被低估的提效工具 在 Python 项目里&#xff0c;代码质量检查工具大家都不陌生&#xff0c;像 flake8、black、isort 这些几乎是标配。但很多人可能遇到过这样的场景&#xff1a;每次提交代码前&#xff0c;都要手动跑一遍检…...

RAG基本流程

RAG&#xff08;Retrieval-Augmented Generation&#xff0c;检索增强生成&#xff09;是一种将外部知识检索与大语言模型&#xff08;LLM&#xff09;生成能力相结合的技术&#xff0c;用于提升回答的准确性、减少“幻觉”&#xff08;Hallucination&#xff09;&#xff0c;并…...

如何通过游戏化编程轻松掌握Python与JavaScript:CodeCombat终极指南

如何通过游戏化编程轻松掌握Python与JavaScript&#xff1a;CodeCombat终极指南 【免费下载链接】codecombat Game for learning how to code. 项目地址: https://gitcode.com/gh_mirrors/co/codecombat 想要让编程学习变得像玩游戏一样有趣吗&#xff1f;CodeCombat正是…...

科捷智能以一站式方案破解汽配行业厂内运输难题

汽车零部件行业正面临双重压力&#xff1a;前端是整车厂对供应链响应速度的极致要求&#xff0c;后端是数千种SKU带来的仓储管理复杂度。厂内运输作为连接生产与仓储的关键动脉&#xff0c;其效率直接决定了订单交付能力。科捷智能深耕汽配行业多年&#xff0c;以托盘堆垛机、四…...

别再只会用%和_了!MySQL模糊查询的三种隐藏技巧,性能提升不止一点点

MySQL模糊查询性能优化实战&#xff1a;突破%和_的思维定式 当数据库表膨胀到百万级数据时&#xff0c;一个简单的LIKE %关键词%查询可能让整个系统陷入瘫痪。上周我负责的电商平台就遭遇了这样的危机——商品搜索接口响应时间从200ms飙升到8秒&#xff0c;仅仅因为用户输入了包…...

3分钟彻底掌控Windows安全:开源工具defender-control让你的系统真正属于你

3分钟彻底掌控Windows安全&#xff1a;开源工具defender-control让你的系统真正属于你 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defe…...

STM32点蜂鸣器

这是一个峰鸣器&#xff0c;GND接stm32的GND&#xff0c;VCC接3.3V&#xff0c;i/o接你设置的引脚代码如下void Bear_int(){GPIO_InitTypeDef Bear_initstruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);Bear_initstruct.GPIO_PinGPIO_Pin_3;Bear_initstruct.GPIO…...