LeetCode 题解 – 179. 最大数(leetcode 最大子数组)

LeetCode 题解 - 179. 最大数(leetcode 最大子数组)

力扣 179. 最大数(点击查看题目)

题目描述

给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。

示例 1:

LeetCode 题解 - 179. 最大数(leetcode 最大子数组)

示例 2:

LeetCode 题解 - 179. 最大数(leetcode 最大子数组)

说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。

​

解决方案

自定义排序:

想法

为了构建最大数字,我们希望越高位的数字越大越好。

算法

首先,我们将每个整数变成字符串。然后进行排序。

如果仅按降序排序,有相同的开头数字的时候会出现问题。比方说,样例 2 按降序排序得到的数字是 95343303,然而交换 3 和 30 的位置可以得到正确答案 9534330。因此,每一对数在排序的比较过程中,我们比较两种连接顺序哪一种更好。我们可以证明这样的做法是正确的:

假设(不是一般性),某一对整数 a 和 b,我们的比较结果是 a 应该在 b 前面,这意味着 a ⌢ b > b ⌢ a,其中 ⌢ 表示连接。如果排序结果是错的,说明存在一个 c,b 在 c 前面且 c 在 a 的前面。这产生了矛盾,因为 a ⌢ b > b ⌢ a 和 b ⌢ c > c ⌢ b 意味着 a ⌢ c > c ⌢ a。换言之,我们的自定义比较方法保证了传递性,所以这样子排序是对的。

一旦数组排好了序,最“重要”的数字会在最前面。有一个需要注意的情况是如果数组只包含 0,我们直接返回结果 0 即可。否则,我们用排好序的数组形成一个字符串并返回。

Java 实现

LeetCode 题解 - 179. 最大数(leetcode 最大子数组)

Python 实现

LeetCode 题解 - 179. 最大数(leetcode 最大子数组)

复杂度分析

  • 时间复杂度:O(nlgn)

尽管我们在比较函数中做了一些额外的工作,但是这只是一个常数因子。所以总的时间复杂度是由排序决定的,在 Python 和 Java 中都是 O(nlgn)。

  • 空间复杂度:O(n)

这里,我们使用了 O(n) 的额外空间去保存 nums 的副本。尽管我们就地进行了一些额外的工作,但最后返回的数组需要 O(n) 的空间。因此,需要的额外空间与 nums 大小成线性关系。

本文作者:力扣

声明:本文归“力扣”版权所有,如需转载请联系。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至89291810@qq.com举报,一经查实,本站将立刻删除。
赞 (0)
上一篇 2024年4月4日 上午9:51
下一篇 2024年4月4日 上午9:57

相关推荐

  • 今年情人节是哪天2025几月几号

    2025年的情人节将在2月14日到来,这是一个非常特别的日子,因为每年的情人节都是一年中最浪漫的时候。今年也不例外,我们将一起回顾这个浪漫的日子,并期待在2025年再次体验它的美好…

    教育百科 2025年1月11日
  • 公派留学中途休学

    公派留学中途休学 作为一名公派留学生,我曾经梦想着留学海外,接受最先进的教育,拓展自己的视野,为国家的发展做出贡献。然而,现实却无情地打破了我的幻想。在留学的中途,我选择了休学,重…

    教育百科 2025年7月19日
  • 浙江省2025年小学开学时间

    浙江省2025年小学开学时间揭晓 近日,浙江省2025年小学开学时间终于揭晓了。根据官方消息,浙江省2025年小学开学时间为2025年9月1日。这意味着,学生们将开始新学期的学习生…

    教育百科 2024年11月21日
  • 梯形的上底怎么求

    梯形的上底怎么求 梯形是一种常见的多面体,它的上底和下底是相邻的两条边,而它的对角线交点是梯形的中点。在梯形中,我们需要求出上底的长度,这样我们就可以确定梯形的大小和形状。那么,梯…

    教育百科 2025年12月23日
  • 网瘾少年专用

    网瘾少年专用 网瘾少年专用,是指那些长期沉迷于网络世界中的少年。这些少年往往缺乏户外运动和社交活动,并且经常表现出焦虑,抑郁和其他心理问题。 网瘾少年专用的现象已经引起了广泛关注。…

    教育百科 2026年1月14日
  • 娃子不上学

    娃子不上学 娃子不上学,这是一个让人十分头痛的问题。孩子们应该在学校里学习知识,掌握基本技能,为未来的成功奠定基础。但是,在一些家庭中,由于各种原因,孩子们无法上学。这些问题可能包…

    教育百科 2026年4月5日
  • 安居乐业

    安居乐业,是每个人追求的理想生活状态。它不仅仅是拥有一份稳定的工作,还包括了舒适的家居环境、愉悦的家庭生活以及健康的身心状态。 在安居乐业的过程中,我们需要有一个舒适的家居环境。这…

    教育百科 2024年12月30日
  • 陶渊明桃花源记

    陶渊明的《桃花源记》是一篇著名的中国古文,描述了一个虚构的桃花源,被认为是中国封建社会的理想社会。这篇文章以其深刻的思想和丰富的文化内涵,被广泛地传颂和研究。 在这篇文章中,桃花源…

    教育百科 2024年12月29日
  • 住院休学证明怎么开(住院期间可以办休学)

    住院期间可以办休学 近年来,随着医疗技术的发展,越来越多的人因为疾病或意外需要住院治疗。对于这些人而言,住院治疗期间如何安排时间是非常重要的。现在,我们可以在住院期间办理休学手续,…

    教育百科 2024年6月13日
  • 《百年孤独》

    《百年孤独》是哥伦比亚作家加夫列尔·加西亚·马尔克斯的代表作之一,讲述了布恩迪亚家族七代人的故事,以及这个家族与哥伦比亚历史发展的交互影响。 这本小说被认为是魔幻现实主义的代表作之…

    教育百科 2024年12月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注