力扣刷题--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 (…...
监控邮箱/邮箱自动回复/python
主题:QQ邮箱的实时监控和自动回复实现QQ邮箱的实时监控和自动回复思路(代码):1. 获取QQ邮箱授权码只有开启了QQ邮箱的IMAP SMTP服务,才能路径:登录QQ邮箱->设置->账号与安全->开启 IMAP/SMTP服务大…...
3个关键技巧:用ProperTree告别Plist编辑的繁琐与混乱
3个关键技巧:用ProperTree告别Plist编辑的繁琐与混乱 【免费下载链接】ProperTree Cross platform GUI plist editor written in python. 项目地址: https://gitcode.com/gh_mirrors/pr/ProperTree 你是否曾经面对macOS配置文件时感到手足无措?那…...
ENSP实验避坑指南:搭建园区网时,VLAN间通信、MSTP负载分担、VRRP主备切换这些细节你配对了吗?
ENSP园区网实战排错手册:从VLAN间通信到VRRP主备切换的深度解析 刚完成ENSP园区网搭建实验的网络工程师小王盯着屏幕,眉头紧锁——所有配置明明都按照教程一步步操作,可VLAN间的PC就是无法互通,MSTP负载分担也没生效。这种"…...
基于YOLOv10的低延迟AI瞄准系统:多平台硬件加速与实时检测架构设计
基于YOLOv10的低延迟AI瞄准系统:多平台硬件加速与实时检测架构设计 【免费下载链接】yolov8_aimbot Aim-bot based on AI for all FPS games 项目地址: https://gitcode.com/gh_mirrors/yo/yolov8_aimbot Sunone Aimbot是一个基于YOLOv10深度学习模型的FPS游…...
COMET:基于深度学习的翻译质量评估技术革命
COMET:基于深度学习的翻译质量评估技术革命 【免费下载链接】COMET A Neural Framework for MT Evaluation 项目地址: https://gitcode.com/gh_mirrors/com/COMET 在机器翻译技术快速发展的今天,翻译质量评估已成为连接技术研发与实际应用的关键…...
Unity碰撞器性能优化:Collider类型选择与物理系统调优
1. 为什么一个“看不见”的组件,能让帧率从60掉到20?在Unity项目上线前的性能压测阶段,我遇到过最让人头皮发麻的场景不是Shader报错,也不是内存泄漏,而是——主角刚跑进森林,帧率瞬间从58fps断崖式跌到18f…...
保姆级教程:在Ubuntu 22.04上用Netplan搞定Bond+VLAN+Bridge混合网络(附H3C交换机配置)
企业级网络架构实战:Ubuntu 22.04下BondVLANBridge混合部署指南 在虚拟化环境和云计算基础设施中,网络架构的可靠性和灵活性至关重要。本文将深入探讨如何在Ubuntu 22.04系统上,通过Netplan配置工具实现Bond(链路聚合)…...
天勤 get_account 资金字段读懂:下单前可用与保证金检查
前言 策略信号对了却下不出去,我第一反应看 get_account():是 available 不够,还是把 balance 当可用去和保证金比了。有次模拟盘「明明没下单」却报资金不足,查了半天是字段读错;还有一次夜盘加仓,白天算好…...
Android 四大组件之 Service
一、Service:没有界面的"长跑选手" 如果说 Activity 是用户能看到的"页面",那么 Service 就是看不见的"长跑选手"——它在后台默默工作,不与用户直接交互。 它适合执行那些用户不需要直接看着、又要持续一段…...
京东h5st 3.1反爬机制深度解析与合规调用实践
1. 这不是“加个密”那么简单:h5st 3.1在京东联盟生态里的真实分量你点开京东联盟的推广链接,页面秒开,商品图加载流畅,但当你想用脚本批量抓取商品价格、销量或优惠券信息时,刚发几个请求,接口就返回一个干…...
