美文网首页
Leetcode 406. Queue Reconstructi

Leetcode 406. Queue Reconstructi

作者: woniudear | 来源:发表于2019-01-10 00:02 被阅读0次

    巧妙的一道题。
    思路:
    先把所有people按照个头高低排队,在此基础上再安第二个参数由小到大。
    然后遍历上述排序后队伍,先把个子最高的都放进去,然后再继续把小的往里插。插的位置就是第二个参数。
    python排序用法:
    aftersort = sort(list,key = lambda x:(-x[0], x[1]))

    python insert用法:
    list.insert(index, item)
    代码:

    class Solution:
        def reconstructQueue(self, people):
            """
            :type people: List[List[int]]
            :rtype: List[List[int]]
            """
            if not people:
                return []
            res = []
            sort_people = sorted(people, key=lambda x: (-x[0], x[1]))
            max_height = sort_people[0][0]
            for people in sort_people:
                if people[0] == max_height:
                    res.append(people)
                else:
                    res.insert(people[1], people)
            return res
    

    相关文章

      网友评论

          本文标题:Leetcode 406. Queue Reconstructi

          本文链接:https://www.haomeiwen.com/subject/oaanrqtx.html