贪心,这题挺难想思路的,卡了差不多一个小时看的答案。
首先维护前面人每一个元素都比后面高!!!根据身高由高到低和名次由小到大排序,然后将人插入到名词位置就 ok 了。关键是保证前面每一个人都比要插入的人高!!!
class Solution(object):
def reconstructQueue(self, people):
"""
:type people: List[List[int]]
:rtype: List[List[int]]
"""
people.sort(key=lambda x: (-x[0], x[1]))
for i in range(len(people)):
people.insert(people[i][1], people.pop(i))
return people
网友评论