leetcode分类刷题 -- list应用

力扣https://leetcode-cn.com/problems/relative-sort-array/leetcode 1122 数组的相对排序 -- 简单

arr2 += sorted(set(arr1)-set(arr2)) 执行后的arr2等于arr2 += sorted(set(arr1)-set(arr2))

可见arr2 的前面是由arr2的原来arr2中的值和后面arr1中的值组成,这里用两个set相减来取两个的差集

其次针对list的排序,如果排序的函数是针对list本身的元素,则key后面的排序函数可以简写.

class Solution:
    def relativeSortArray(self,arr1,arr2):
        arr2 += sorted(set(arr1)-set(arr2))
        arr1.sort(key=arr2.index)
        return arr1


if __name__ == "__main__":
    arr1=[2,3,1,3,2,4,6,7,9,2,19]
    arr2=[2,3,4,3,9,6]
    print(Solution().relativeSortArray(arr1,arr2))


版权声明:本文为tiantao2012原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。