力扣刷题--LCR 075. 数组的相对排序【简单】

题目描述
给定两个数组,arr1 和 arr2,
arr2 中的元素各不相同
arr2 中的每个元素都出现在 arr1 中
对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。
示例:
输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]
输出:[2,2,2,1,4,3,3,9,6,7,19]
提示:
1 <= arr1.length, arr2.length <= 1000
0 <= arr1[i], arr2[i] <= 1000
arr2 中的元素 arr2[i] 各不相同
arr2 中的每个元素 arr2[i] 都出现在 arr1 中
算法分析
标签:哈希表 , 排序
1.先用哈希表存储每种数字出现的次数
2.然后根据arr2的次序,按次数插入到结果数组ans当中
3.接下来处理arr2未在arr1中出现的元素,只需要通过查找找到那些没有出现的元素,再把它们升序排序
4.最后吧arr2在arr1中初心的元素于未在arr1中出现的元素连接起来即可
完整代码
class Solution {
public:vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) {unordered_map<int,int>m;for(auto i:arr1)m[i]++;//通过哈希表存储每种数字出现的次数vector<int>ans;vector<int>v;for(auto i:arr2){for(int j=1;j<=m[i];j++)//插入几次{ans.push_back(i);}}for(auto i:arr1){ //对于arr1中的每个元素在arr2中能找到嘛if(find(arr2.begin(),arr2.end(),i)==arr2.end())//没有找到就加入{v.push_back(i);}}sort(v.begin(),v.end());for(auto x:v){ans.push_back(x);}return ans;}
};

相关文章:
力扣刷题--LCR 075. 数组的相对排序【简单】
题目描述 给定两个数组,arr1 和 arr2, arr2 中的元素各不相同 arr2 中的每个元素都出现在 arr1 中 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。 …...
机器学习笔记——K近邻算法、手写数字识别
KNN算法 “物以类聚,人以群分”相似的数据往往拥有相同的类别 其大概原理就是一个样本归到哪一类,当前样本需要归到频次最高的哪个类去 也就是说有一个待分类的样本,然后跟他周围的k个样本来看,k中哪一个类最多,待分类…...
基于STM32实现智能园艺系统
目录 引言环境准备智能园艺系统基础代码示例:实现智能园艺系统 土壤湿度传感器数据读取水泵控制温湿度传感器数据读取显示系统用户输入和设置应用场景:智能农业与家庭园艺问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在STM32嵌入式系统…...
网络原理-HTTP协议
HTTP协议 HTTP协议全称为超文本传输协议,除了能传输字符串,还能传输图片、视频、音频等。 当我们在访问网页的时候,浏览器会从服务器上下载数据,这些数据都会放在HTTP响应中,然后浏览器再根据这个HTTP响应显示出网页信息。 抓包 抓包工具本质上是一个代理工具,即我们将构造…...
【ES001】elasticsearch实战经验总结(最近更新中)
1.熟悉、梳理、总结下elasticsearch相关知识体系。 2.日常研发过程中使用较少,随着时间的推移,很快就忘得一干二净,所以梳理总结下,以备日常使用参考 3.欢迎批评指正,跪谢一键三连! 文章目录 1. 1....
OpenBayes 一周速览|TripoSR 开源:1 秒即 2D 变 3D、经典 GTZAN 音乐数据集上线
公共资源速递 This Weekly Snapshots !5 个数据集: FER2013 面部表情识别数据集 GTZAN 音乐流派分类数据集 MVTec-AD 工业异常检测数据集 UCAS-AOD 遥感目标检测数据集 Oxford 102 Flowers 花卉图片数据集 3 个教程: Latte 全球首个开…...
【论文笔记】advPattern
【论文题目】 advPattern: Physical-World Attacks on Deep Person Re-Identification via Adversarially Transformable Patterns Abstract 本文首次尝试对深度reID实施鲁棒的物理世界攻击。提出了一种新颖的攻击算法,称为advPattern,用于在衣服上生成…...
【鱼眼镜头11】Kannala-Brandt模型和Scaramuzza多项式模型区别,哪个更好?
Kannala-Brandt模型和Scaramuzza多项式模型在描述鱼眼相机畸变时都有其特定的数学表示和应用,但它们之间存在一些区别。以下是对两者区别的分点表示和归纳: 数学表示: Kannala-Brandt模型:它假设图像光心到投影点的距离和角度的多…...
微信小程序仿胖东来轮播和背景效果(有效果图)
效果图 .wxml <view class"swiper-index" style"--width--:{{windowWidth}}px;"><image src"{{swiperList[(cardCur bgIndex -1?swiperList.length - 1:cardCur bgIndex > swiperList.length -1?0:cardCur bgIndex)]}}" clas…...
10.SpringBoot 统一处理功能
文章目录 1.拦截器1.1在代码中的应用1.1.1定义拦截器1.1.2注册配置拦截器 1.2拦截器的作用1.3拦截器的实现 2.统一数据返回格式2.1 为什么需要统⼀数据返回格式?2.2 统⼀数据返回格式的实现 3.统一异常处理4.SpringBoot专业版创建项目无Java8版本怎么办?…...
【八股系列】为什么会有webpack配置?webpack的构建流程是什么?
文章目录 1. webpack是什么?2. 为什么需要webpack?3. webpack构建原理4. 构建流程通常包括以下步骤5. Webpack构建流程图 1. webpack是什么? Webpack是一个模块打包工具,它可以将项目中的各种静态资源,如JavaScript、…...
sdf 测试-2-openssl
任务详情 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务,参考网内容 和AI要给出详细过程,否则不得分。 0. 根据gmt0018标准,如何调用接口实现基于SM3求你的学号姓名的SM3值?(5‘) 使用OpenSSL实现SDF接…...
头歌springboot初体验
您好!看起来您可能在询问关于Spring Boot的入门体验。Spring Boot是一个开源的Java框架,它设计用来简化Spring应用程序的初始搭建和开发过程。以下是一些Spring Boot的基本概念和入门步骤: Spring Boot简介: Spring Boot是Spring框…...
矩阵对角化在机器学习中的奥秘与应用
在机器学习的广阔领域中,矩阵对角化作为一种重要的数学工具,扮演着不可或缺的角色。从基础的线性代数理论到复杂的机器学习算法,矩阵对角化都在其中发挥着重要的作用。 矩阵对角化的概念与原理 矩阵对角化是矩阵理论中的一个基本概念&#x…...
操作MySQL数据库
【一】针对库的增删查改(文件夹) 【1】创建数据库 (1)语法 创建一个存储数据表的文件夹。 注意:mysql中的编码字符集中utf-8,要换成utf8mb4。SQL语句中的中括号部分表示可选。 create database [if no…...
Linux shell 文件生成文件脚本(模拟生成文件、生成大量文件)
文章目录 Linux shell 文件生成文件脚本 Linux shell 文件生成文件脚本 TARGET_DIR:生成文件路径 NUM_FILES:生成文件数量 FILE_SIZE:生成文件大小(KB) #!/bin/bashset -e set -u# Directory where files will be cr…...
theharvester一键收集域名信息(KALI工具系列十)
目录 1、KALI LINUX简介 2、theharvester工具简介 3、在KALI中使用theharvester 3.1 用搜索引擎扫描 3.2 扫描并输出结果 3.3 扫描某域名下的所有账号 3.4 使用所有的搜索引擎扫描 4、总结 1、KALI LINUX简介 Kali Linux 是一个功能强大、多才多艺的 Linux 发行版&…...
「动态规划」删除并获得点数
力扣原题链接,点击跳转。 给你一个整数数组nums。每次操作,可以删除任意一个值n,接着获得点数n,并同时删除所有的n-1和n1。你最多能获取多少点数? 这个问题的解法相当巧妙。我们可以把问题先转化一下。用类似计数排序…...
MongoDB CRUD操作:内嵌文档数组查询
MongoDB 内嵌文档数组查询 文章目录 MongoDB 内嵌文档数组查询查询数组内嵌文档为文档数组中的字段指定查询条件指定文档数组内嵌文档字段的查询条件使用数组索引查询内嵌文档的字段 为文档数组指定多个条件单个内嵌文档满足内嵌字段的多个查询条件符合标准的元素组合 使用 Mon…...
【C++】每日一题 50 Pow(x,n)
实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,x^n )。 当需要计算x的n次幂时,可以使用递归或者迭代的方式来实现。 #include <iostream>double myPow(double x, int n) {if (n 0) {return 1.0;} else if (…...
ai辅助开发:在快马平台用自然语言生成集成kimi apikey的代码模块
最近在尝试用AI辅助开发,发现了一个特别高效的组合:用InsCode(快马)平台的自然语言生成功能,直接创建调用Kimi API的代码模块。整个过程就像和懂技术的同事对话一样简单,分享下具体操作和心得。 明确需求场景 我需要一个Python函数…...
基于遗传算法的铝合金铣削加工多目标参数优化MATLAB代码
1. 问题定义 决策变量(可控参数) 主轴转速 nnn(rpm)每齿进给量 fzf_zfz(mm/tooth)切削深度 apa_pap(mm)切削宽度 aea_eae(mm) 优化目标(通常为最小化)最小化加工时间 $T )(或最大化材料去除率 MRR) M…...
从LAS/LAZ点云数据到智能分析:处理、可视化与目标检测实战
1. 初识LAS/LAZ点云数据:从文件结构到实战解析 第一次接触激光雷达点云数据时,我被那些密密麻麻的坐标点震撼到了。想象一下,无人机或激光雷达设备扫描一片区域后,会生成包含数百万甚至上亿个空间点的数据集,每个点都精…...
强化学习实战:Model-base与Model-free到底怎么选?5个场景帮你决策
强化学习实战指南:5大场景下的Model-base与Model-free选择策略 当第一次接触强化学习时,面对Model-base和Model-free两大流派的选择,很多开发者都会陷入决策困境。就像站在两条分岔路口,每条路都通向不同的风景,却难以…...
YOLO12与LaTeX结合:自动化生成学术论文中的图表标注
YOLO12与LaTeX结合:自动化生成学术论文中的图表标注 1. 引言 写学术论文最让人头疼的事情之一,就是给图表添加标注。每次实验做完,面对几十张甚至上百张图片,手动一个个画框、标注类别、记录坐标,不仅耗时耗力&#…...
XCOM 2模组管理终极解决方案:Alternative Mod Launcher全攻略
XCOM 2模组管理终极解决方案:Alternative Mod Launcher全攻略 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mi…...
树莓派5硬件PWM引脚复用全解析:GPIO12/13/18/19配置与风扇控制避坑
树莓派5硬件PWM引脚复用全解析:GPIO12/13/18/19配置与风扇控制避坑 当你在树莓派5上尝试用GPIO18控制伺服电机时,突然发现输出信号毫无反应——这不是代码写错了,而是系统可能已经悄悄占用了这个引脚给散热风扇。作为首款采用RP1南桥芯片的树…...
3大维度解析memtest_vulkan:让GPU用户轻松解决显存稳定性难题
3大维度解析memtest_vulkan:让GPU用户轻松解决显存稳定性难题 【免费下载链接】memtest_vulkan Vulkan compute tool for testing video memory stability 项目地址: https://gitcode.com/gh_mirrors/me/memtest_vulkan 在图形渲染、科学计算和深度学习等关键…...
Win11Debloat:4步告别系统臃肿,让你的Windows 11焕然一新
Win11Debloat:4步告别系统臃肿,让你的Windows 11焕然一新 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to de…...
4步实现Switch手柄电脑适配:从驱动到高级应用的全流程指南
4步实现Switch手柄电脑适配:从驱动到高级应用的全流程指南 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.…...
