贪心算法-最大数

题目:https://leetcode.cn/problems/largest-number/description/

「最大数」问题知识点总结


一、题目核心要求

  • 给定一组非负整数,不可拆分单个数字 ,重新排列顺序,拼接成一个最大的整数。
  • 因结果可能极大,需返回字符串而非整数。
  • 示例:
    • 输入 [10,2] → 输出 "210"(因为 "2"+"10" > "10"+"2")
    • 输入 [3,30,34,5,9] → 输出 "9534330"

二、算法核心原理

1. 排序的本质

排序的核心是确定元素的先后顺序,即判断任意两个元素谁在前、谁在后能让整体结果更优。

2. 普通排序的局限性

普通升序/降序的比较逻辑(直接比较数字大小)不满足本题需求,因为其比较规则不具备传递性,会出现逻辑矛盾(如示例中直接比较数字大小无法得到正确顺序)。

3. 本题的排序优化思路
  • 关键转换 :将所有数字转为字符串,通过拼接后的字典序比较来确定顺序。
  • 排序规则 :对两个字符串 a 和 b,比较 a + b 和 b + a 的字典序:
    • 若 a + b > b + a → a 放在 b 前面
    • 若 a + b < b + a → b 放在 a 前面
  • 该规则满足传递性,可保证整体排序后拼接出最大数。

三、边界处理

  • 若输入全为0(如 [0,0]),需输出 "0" 而非 "00",避免无效前导零。

四、核心思想提炼

本题的核心是自定义排序规则,通过字符串拼接比较替代普通数字比较,从而得到全局最优的排列顺序。

、

相关推荐
花椒技术3 分钟前
2.46 秒生成 5 秒视频:拆解 H3 Max 的模型、推理栈与硬件协同
算法·音视频开发·视频编码
vivo互联网技术10 分钟前
ART:妆容迁移框架,重新定义高保真妆容迁移 | ECCV 2026
人工智能·算法·图像识别
用户04414409244913 分钟前
卫星信号模拟器里的四个坐标转换公式
算法
橘和柠23 分钟前
阿里 open-code-review (AI代码审查工具)实战:安装、四层规则链、自定义规则格式与实测避坑
算法·面试
得物技术23 分钟前
别再只卷向量检索了,得物交易搜索如何用“生成式”实现召回范式跃迁?
人工智能·算法·llm
罗西的思考23 分钟前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(4)--- Rollout实现细节
人工智能·算法
罗西的思考34 分钟前
机器人 / 物理 Agent Harness 综合分析与对比:从「更强的模型」到「更好的系统」
人工智能·算法·机器学习
库玛西35 分钟前
攻克 408 数据结构:图论基石深度拆解(数学极值推演 + 存储内存剖析 + BFS/DFS 双核模板)
数据结构·算法·深度优先·广度优先·图搜索算法
倒头就睡的小比特5 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#