首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >1122. 数组的相对排序

1122. 数组的相对排序

原创
作者头像
Michel_Rolle
发布2024-07-07 19:10:18
发布2024-07-07 19:10:18
5.1K0
举报

链接

给你两个数组,arr1 和 arr2,

arr2 中的元素各不相同

arr2 中的每个元素都出现在 arr1 中

对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。

示例:

代码语言:javascript
复制
输入: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]
代码语言:javascript
复制
func relativeSortArray(arr1 []int, arr2 []int) []int {
    m :=make(map[int][]int)
    for _,v :=range  arr2{
    	m[v]= make([]int,0)
	}
	var other []int
	for _,v:=range arr1{
		if l,ok:=m[v];ok{
			l = append(l,v)
			m[v]= l
		}else {
			other = append(other,v)
		}
	}
    sort.Ints(other)
	var res []int
	for _,v :=range  arr2{
		res = append(res,m[v]...)
	}
	res = append(res,other...)
	return res
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档