LeetCode 406. 根据身高重建队列(Medium)

这篇博客介绍了一种使用Python解决根据身高重建队列的算法问题。通过0114不一致排序和插入的方法,首先对输入的人员列表按身高降序和前面人数顺序进行排序,然后依次将排序后的人员插入到正确的位置,最终得到重建后的队列。代码简洁明了,包含两种插入方式实现。

在这里插入图片描述
【题目链接】

题解

  1. 根据身高重建队列

思路

在这里插入图片描述

代码

class Solution:
    ### 0114 不一致排序 + 插入(36 ms,15.4 MB)
    def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:
        # 先排序:第一位元素(身高)逆序,第二位元素(前面的人数)顺序
        people.sort(key=lambda x: (-x[0], x[1]))
        
        ans = []

        # 把排序后的每一个人根据 前面的人数 插入到对应位置
        for person in people:
            ## 写法1
            ans.insert(person[1], person)

            ## 写法2
            ans[person[1]:person[1]] = [person]

        return ans
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值