数据结构与算法-相对排序

问题描述:

给定两个数组,arr1arr2arr2中的元素各不相同,
arr2中的所有元素都出现在arr1中。请对arr1中的元素进行排序,

使arr1中元素的相对顺序和arr2中元素的相对顺序相同,
:根绝数组2排序数组1

未在arr2中出现的元素需要按照升序放在arr1的末尾,最终输出排序后的arr1

> **示例1**
>
> 输入: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]
>
> 
>

解题思路:计数排序+分组
利用字典对order2中的对应的列表元素进行计数或存储记录
剩余元素单独利用sorted进行排序

from collections import defaultdict
def function(order1,order2):dict2 =defaultdict()result = list()for i in order2:dict2[str(i)] = list()print(dict2)res = list()for num in order1:if num in order2:dict2[str(num)].append(num)else:res.append(num)print(dict2)#for item in dict2.items():#print(item.key)result = [result + v for k,vin dict2.items() ]return result[0] + sorted(res)arr1 = [2, 3, 1, 3, 2, 4, 6, 7, 9, 2, 19]
arr2 = [2, 1, 4, 3, 9, 6]
r = function(arr1,arr2)
print(r)

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

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

相关文章

kong 相关文档

kong 3.4x api 说明 kong 3.4x api 说明 kong 3.4 kong 3.4 修改target的weight curl --request PATCH \--url http://192.168.100.112:8001/upstreams/testcomment-cn/targets/testcomment-cn.cn6.svc.cluster.local%3A80 \--header Content-Type: application/json \--heade…

leetcode刷题指南

本文我将分享给大家一套我自己使用良久并觉得非常高效的 学习论,它可以运用到 Leetcode 上的刷题,也可以 generalize 到生活中涉及到学习以及记忆的方方面面。当然,本文将以 Leetcode 刷题为 case study 去进行讲解。 更具体一点, 我会教大家…

JavaScript的综合案例

案例要求&#xff1a; 实现一个表单验证 1.当输入框失去焦点时&#xff0c;验证输入的内容是否符合要求 2.当点击注册按钮时&#xff0c;判断所有输入框的内容是否都符合要求&#xff0c;如果不符合要求阻止表单提交 简单的页面实现 <!DOCTYPE html> <html lang&…

在阿里云服务器上安装MySQL

目录 一、先卸载不需要的环境 1.关闭MySQL服务 2.查看安装包以及卸载安装包 3.依次卸载所有包 4. 获取mysql官⽅yum源 二、安装&#xff08;密钥过期解决方法&#xff09; 三、启动并进入 关于MySQL MySQL是一个广泛使用的开源关系型数据库管理系统&#xff08;RDBMS&…

【深度学习中的“冻结”含义】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、冻结操作二、实际使用三 、案例训练代码... 总结 前言 在深度学习领域&#xff0c;“冻结”的含义通常指的是在训练过程中保持网络模型中的某一层或多层的…

Linux中如何配置虚拟机网络(NAT方法)

首先我们要在Linux中找到配置文件的路径/etc/sysconfig/network-scripts/&#xff0c;然后找到配置文件的名称ifcfg-xxx&#xff08;如&#xff1a;ifcfg-ens33&#xff09;&#xff0c;然后打开这个文件内 容如下&#xff1a; TYPEEthernet # 指定网卡类型是以太网 BOOTPROT…

解决qt5.12.12编译源码没有libqxcb的问题

最近要研究一下qt源码,因为设计到要修改源码,所以需要编译源码并替换修改的库文件运行验证。 我这里使用的是qt5.12.12版本,去官网上下载对应版本的安装包,安装时勾选上源码即可。 后面编译完发现,plugins/platforms/目录下没有生成库文件libqxcb.so,造成了一点麻烦。 设置 e…

【平衡二叉树】AVL树(双旋)

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; C进阶 &#x1f389;其它专栏&#xff1a; C初阶 | Linux | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解AVL树的左双选和右双旋的相关内容。 如果看到最后您觉得这篇文章写…

C++基础语法之数组

一、一维数组 在C中&#xff0c;一维数组是一系列具有相同数据类型的元素的集合。它们在内存中是连续存储的&#xff0c;可以通过索引访问每个元素。 一维数组的声明形式如下&#xff1a; 数据类型 数组名[常量表达式] 例如&#xff1a; // 声明一个能存储10个整数的数组 in…

【AI学习】对指令微调(instruction tuning)的理解

前面对微调&#xff08;Fine-tuning&#xff09;的学习中&#xff0c;提到指令微调。当时&#xff0c;不清楚何为指令微调&#xff0c;也一直没来得及仔细学习。 什么是指令微调&#xff1f;LLM经过预训练后&#xff0c;通过指令微调提升模型的指令遵循能力。所谓指令&#xf…

从零开始精通RTSP之认证

概述 在多媒体流传输方向&#xff0c;RTSP凭借其对实时性、可控制性的良好支持&#xff0c;成为视频监控、在线直播等领域不可或缺的协议之一。然而&#xff0c;安全是任何网络通信的核心&#xff0c;尤其是在涉及敏感内容的实时流传输中。另外&#xff0c;RTSP认证不仅是技术上…

Flutter 中的 AnimatedIcon 小部件:全面指南

Flutter 中的 AnimatedIcon 小部件&#xff1a;全面指南 AnimatedIcon是Flutter Material组件库中的一个独特动画组件&#xff0c;它允许开发者在两个图标之间进行平滑的过渡动画。这使得它非常适合用于表示应用程序的状态变化&#xff0c;如菜单打开/关闭、搜索打开/关闭等。…

java动态多态性

在Java中&#xff0c;动态多态性是指同一个方法调用可以在运行时根据对象的实际类型来执行不同的行为。这是通过Java的方法重写&#xff08;Override&#xff09;和继承机制来实现的。 动态多态性的实现方式&#xff1a; 方法重写&#xff08;Override&#xff09;&#xff1a…

box-shadow和filter: drop-shadow的异同,及使用canvas绘制椭圆

一、box-shadow 和 filter: drop-shadow的异同&#xff1a; filter: drop-shadow 和 box-shadow 都可以用于创建阴影效果&#xff0c;但它们之间有一些重要的区别&#xff1a; 1、适用对象&#xff1a; 1、filter: drop-shadow* 适用于元素的整个内容区域&#xff0c;包括内容…

车载GPT爆红前夜:一场巨头竞逐的游戏

在基于GPT-3.5的ChatGPT问世之前&#xff0c;OpenAI作为深度学习领域并不大为人所看好的技术分支玩家&#xff0c;已经在GPT这个赛道默默耕耘了七八年的时间。 好几年的时间里&#xff0c;GPT始终没有跨越从“不能用”到“能用”的奇点。转折点发生在2020年6月份发布的GPT-3&a…

【STM32】状态机实现定时器按键消抖,处理单击、双击、三击、长按事件

目录 一、简单介绍 二、模块与接线 三、cubemx配置 四、驱动编写 状态图 按键类型定义 参数初始化/复位 按键扫描 串口重定向 主函数 五、效果展示 六、驱动附录 key.c key.h 一、简单介绍 众所周知&#xff0c;普通的机械按键会产生抖动&#xff0c;可以采取硬件…

注意力机制篇 | YOLOv8改进之在C2f模块引入反向残差注意力模块iRMB | CVPR 2023

前言:Hello大家好,我是小哥谈。反向残差注意力模块iRMB是一种用于图像分类和目标检测的深度学习模块。它结合了反向残差和注意力机制的优点,能够有效地提高模型的性能。在iRMB中,反向残差指的是将原始的残差块进行反转,即将卷积操作和批量归一化操作放在了后面。这样做的好…

软件工程期末复习(6)需求分析的任务

需求分析 需求分析的任务 “建造一个软件系统的最困难的部分是决定要建造什么……没有别的工作在做错时会如此影响最终系统&#xff0c;没有别的工作比以后矫正更困难。” —— Fred Brooks 需求难以建立的原因&#x…

.net iText7 导出网页pdf 文件流

一. Install-Package itext7 二.构建字节流 using System.IO; using iText.Html2pdf; using iText.Kernel.Pdf; using iText.Layout; using iText.Layout.Element;public byte[] ConvertUrlToPdf(string url) {// 创建一个内存流用于存储PDF文件MemoryStream pdfStream new…

矩阵相关运算1

矩阵运算是线性代数中的一个核心部分&#xff0c;它包含了许多不同类型的操作&#xff0c;可以应用于各种科学和工程问题中。 矩阵加法和减法 矩阵加法和减法需要两个矩阵具有相同的维度。操作是逐元素进行的&#xff1a; CAB or CA−B其中 A,B 和 C 是矩阵&#xff0c;且 C…