Leetcode 406. 根据身高重建队列

在这里插入图片描述

心路历程:

看到二维数组的排序问题,第一反应想到了之前合并区间那道题先对数组按照第一维排序,后来在纸上模拟后发现,如果按照第一维度降维,第二维度升维的方式排序,那么后面插入的元素一定不会影响前面的元素。因为一个数只关系比他大或者和他相等的数,如果和他相等那么第二维度越大越靠后。

一直以为这道题是个类似单调栈的题,结果是个二重的贪心题目。

注意的点:

1、list.sort(key = lambda x: (-x[0], x[1]))大法可以多维度排序,但是注意需要返回元组
2、oneDlist.sort(key = lambda x : -x)也可以代表降序

解法:二重贪心

class Solution:
    def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:
        # 从大到小进行插入,因为小的值不会影响之前插入的大的值的正确性;
        people.sort(key=lambda x: (-x[0], x[1]))  # 先按x[0]降序,再按x[1]升序
        res = []
        for i in range(len(people)):
            res.insert(people[i][1], people[i])
        return res


相关推荐

  1. 【贪心】LeetCode-406. 根据身高重建队列

    2024-04-12 05:36:04       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 05:36:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 05:36:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 05:36:04       87 阅读
  4. Python语言-面向对象

    2024-04-12 05:36:04       96 阅读

热门阅读

  1. 使用 Python + xxl-job 构建爬虫系统

    2024-04-12 05:36:04       41 阅读
  2. 蓝桥杯算法题:蓝桥骑士

    2024-04-12 05:36:04       181 阅读
  3. 阿里云实现amqp

    2024-04-12 05:36:04       35 阅读
  4. [SQL Server]数据库锁的种类

    2024-04-12 05:36:04       46 阅读
  5. 减少服务器被入侵

    2024-04-12 05:36:04       48 阅读
  6. 阿里云(国内)安装nvm

    2024-04-12 05:36:04       39 阅读
  7. ocr+sha256

    2024-04-12 05:36:04       128 阅读
  8. Spring Boot 连接 RabbitMQ

    2024-04-12 05:36:04       188 阅读
  9. ELK Stack、Kafka 和 Filebeat 认识和使用上手

    2024-04-12 05:36:04       105 阅读
  10. 浅谈:从医疗元宇宙向更多实业领域的拓展

    2024-04-12 05:36:04       40 阅读