My Topic In LeetCode
初来乍到,不知道为什么好多人要在标题上标明自己的行数?所以就照样子来了
1 class Solution: 2 def reconstructQueue(self, people): 3 sorted_list = sorted(people, key=lambda x:(-x[0],x[1])) 4 ans = [] 5 for i in sorted_list : 6 ans.insert(i[1], i) 7 return ans
怎么说呢决定每一个人位置的仅仅是站在他前面的且比他高的人,呃,或许更准确的说法是,若有比他低的人站在他的前面,结果将依然正确,所以优先处理更高的人,因为没有人比他还高了那么他的位置就是一对<A,b>中的b,这样接下来不管在哪里插入比他低的人,都不会影响结果
关于复杂度,我对二维数组的以及Python对二维数组的sort()函数是怎么处理的并不太清楚,所以按照惯例我理解为O(nlogn)
所以最终复杂度应该是大于为O(n + nlogn)
运行时间144ms