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年3月5日
  • 大学办理休学后可以转专业吗(大学休学期间改名)

    大学休学期间改名为: 探索自我, 发现未来 在大学的学习过程中, 我们常常会感到迷茫, 不知道自己想要的是什么。 有时候我们可能会为了迎合别人的期望而迷失自我, 而不是真正的探索自…

    教育百科 2024年7月4日
  • 大一休学后去征兵有影响吗

    征兵是每年军队 recruitment的重要活动之一,对于那些希望加入军队的年轻人来说,这是一个机会,他们可以通过征兵活动来展示自己的才能和潜力。然而,征兵活动并不仅仅取决于个人的…

    教育百科 2024年11月15日
  • 一年级孩子厌学怎么办?(一年级孩子厌学怎么办)

    一年级孩子厌学怎么办 随着新年的到来,一年级的学生也开始进入学习的阶段。然而,有些学生可能会表现出厌学的情绪,这可能会导致他们不愿意上学,影响他们的学习成绩和自尊心。 对于这种情况…

    教育百科 2024年9月9日
  • 休学找工作用人单位需交社保怎么拒绝(休学找工作)

    休学找工作是一个需要谨慎考虑的决定。如果正在考虑休学以寻找更好的职业机会,那么这篇文章将可以帮助你做出明智的决定。 首先,让我们看看休学找工作的好处。休学可以为你的职业道路打开新的…

    教育百科 2024年4月2日
  • 北大休学李虹

    北大休学李虹:追求梦想,不畏挑战 李虹是一位来自农村的年轻人,她在高中时表现出了出色的数学天赋,并被北大数学系录取。然而,李虹的父母担心她无法胜任这个学业,因此她决定休学一年,去追…

    教育百科 2025年2月24日
  • 休学半年回原班好吗女生(休学半年回原班好吗)

    休学半年回原班好吗 近年来,随着教育水平的提高,学生们的压力也越来越大。许多学生因为学业的压力,不得不选择休学一段时间。在休学期间,学生们可以暂时放下学业,放松身心,去体验生活,重…

    教育百科 2024年4月27日
  • 小孩在家自学初一怎么教育

    小孩在家自学初一怎么教育 随着科技的发展,在家自学成为了越来越多学生的首选方式。但对于初一学生而言,在家自学需要更加专业的指导和注意,否则可能会带来很多负面影响。在本文中,我们将探…

    教育百科 2024年11月10日
  • 高考后休学一年分数还有效吗(高考结束可以休学一年再读吗)

    高考结束,我们迎来了一个重要的时刻——选择大学或高中的下一步行动。休学一年再读,这个话题一直备受关注。那么,高考结束可以休学一年再读吗?下面,我们将对此进行详细的探讨。 休学一年再…

    教育百科 2024年6月21日
  • 国内关于青少年厌学心理的研究现状

    青少年厌学心理是一个备受关注的话题。近年来,随着教育水平的提高和社会环境的变化,青少年的厌学现象也日益普遍。研究表明,青少年厌学心理不仅会影响其学习成绩,还会对其身心健康产生不良影…

    教育百科 2024年11月25日

发表回复

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