数组的相对排序(python)

1122.数组的相对排序

给你两个数组,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]

def func(arr1, arr2):
    lenth = len(arr2)
    dp = []
    for i in range(lenth):
        while arr2[i] in arr1:
            dp.append(arr2[i])
            arr1.remove(arr2[i])
    dp += sorted(arr1)
    return dp

print(func(arr1 = [2, 3, 1, 3, 2, 4, 6, 7, 9, 2, 19], arr2 = [2, 1, 4, 3, 9, 6]))

猜你喜欢

转载自blog.csdn.net/playboygogogo/article/details/109104061