关键词:
【LetMeFly】179.最大数
力扣题目链接:https://leetcode.cn/problems/largest-number/
给定一组非负整数 nums
,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。
注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。
示例 1:
输入:
nums = [10,2]
输出:"210"
示例 2:
输入:
nums = [3,30,34,5,9]
输出:"9534330"
提示:
1 <= nums.length <= 100
0 <= nums[i] <= 109
方法一:自定义排序方式
其实不证明的话,这题非常简单。
对于两个数而言,哪个应该放在前面,哪个应该放在后面呢?
我们只需要比较一下哪个放前面结果比较大即可。
也就是说,对于两个数a
和b
,如果ab > ba
,那么就把a
放在b
前。反之将b
置前。
**注意:**如果所有元素全部为
0
0
0,记得不要返回000...0
,只能返回一个0
。
- 时间复杂度 O ( L × n log n ) O(L\\times n\\log n) O(L×nlogn),其中 n n n是数组中元素的个数, L L L是数字的平均位数
- 空间复杂度 O ( L × log n ) O(L\\times\\log n) O(L×logn)
AC代码
C++
class Solution
private:
static bool cmp(const int& a, const int& b)
string sa = to_string(a);
string sb = to_string(b);
return sa + sb > sb + sa;
public:
string largestNumber(vector<int>& nums)
string ans;
sort(nums.begin(), nums.end(), cmp);
for (int& t : nums)
ans += to_string(t);
if (ans[0] == '0') // 不能是00000
return "0";
return ans;
;
同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/126221099
0179-largestnumber(代码片段)
...算是出于个人兴趣开的一个新坑吧,最近看到同学刷LeetCode算法题,就想写写那些可以一行Python代码写出来的题目,因此本专栏的文章的解题方式效率不做保证,只为追求“一行的浪漫”。题目题解简单解释一下... 查看详情
leetcode1710.卡车上的最大单元数(代码片段)
【LetMeFly】1710.卡车上的最大单元数力扣题目链接:https://leetcode.cn/problems/maximum-units-on-a-truck/请你将一些箱子装在一辆卡车上。给你一个二维数组boxTypes,其中boxTypes[i]=[numberOfBoxesi,numberOfUnitsPerBoxi]:number 查看详情
leetcode——可以输入的最大单词数(代码片段)
1.题目2.题解把损坏单词存入list中,res为单词可出现次数遍历test字符串,遇见空格/最后一个单词就res+1如单词中存在损坏字符,res–classSolutionpublicintcanBeTypedWords(Stringtext,StringbrokenLetters)List<Character>list= 查看详情
leetcode179.最大数c++/java详细题解(代码片段)
目录1、题目2、思路3、c++代码4、java代码1、题目给定一组非负整数nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整... 查看详情
leetcode479最大回文数乘积[暴力枚举]heroding的leetcode之路(代码片段)
解题思路:n的范围为1~8,相信大伙已经知道答案了,代码如下:classSolutionpublic:intlargestPalindrome(intn)vector<int>ans=9,987,123,597,677,1218,877,475;returnans[n-1];;好了,不开玩笑了, 查看详情
leetcode0421.数组中两个数的最大异或值(代码片段)
...421.数组中两个数的最大异或值力扣题目链接:https://leetcode.cn/problems/maximum-xor-of-two-numbers-in-an-array/给你一个整数数组nums,返回nums[i]XORnums[j]的最大运算结果,其中0≤i≤j<n。进阶:你可以在O(n)的时间解决这个 查看详情
leetcode1877数组中最大数对和的最小值[排序]heroding的leetcode之路(代码片段)
解题思路:一道非常简单的排序题,所谓的最大的最小数对和,只有一头一尾相加的数对和才能使最大的值最小,所以排完序后一头一尾取出搭配,找出最大值返回即可,代码如下:classSolutionpublic:intmi... 查看详情
leetcode——数组中最大数对和的最小值(代码片段)
1.题目2.题解题目的关键点在于:最大数对和的值最小!那么怎么才能最小呢,最后组成的数对,每对数对的值尽可能平均就有了一个思路:(1)数组排序(2)最小值与最大值相加classSolutionpubli... 查看详情
《leetcode之每日一题》:96.数组中最大数对和的最小值(代码片段)
数组中最大数对和的最小值有关题目题解题目链接:数组中最大数对和的最小值有关题目一个数对(a,b)的数对和等于a+b。最大数对和是一个数对数组中最大的数对和。比方说,如果我们有数对(1,5),(2,3)和(4,4),... 查看详情
leetcode1979.找出数组的最大公约数(c++)(代码片段)
1979.找出数组的最大公约数1题目描述2示例描述2.1示例12.2示例22.3示例33解题提示4解题思路5代码详解1题目描述给你一个整数数组nums,返回数组中最大数和最小数的最大公约数。两个数的最大公约数是能够被两个数整除的最大... 查看详情
leetcode之1979.找出数组的最大公约数(代码片段)
题目题目描述给你一个整数数组nums,返回数组中最大数和最小数的最大公约数。两个数的最大公约数是能够被两个数整除的最大正整数。示例1:输入:nums=[2,5,6,9,10]输出:2解释:nums中最小的数是2nums中最... 查看详情
leetcode刷题100天(阿里云周赛)—最大数和最小数—day42(代码片段)
前言:作者:神的孩子在歌唱大家好,我叫运智描述给定一个矩阵,返回矩阵中的最大数和最小数您需要返回一个整数数组array,该数组array[0]表示最大值,而数组array[1]表示最小值。示例样例1:Input:[[1,2,3],[... 查看详情
leetcode刷题100天(阿里云周赛)—最大数和最小数—day42(代码片段)
前言:作者:神的孩子在歌唱大家好,我叫运智描述给定一个矩阵,返回矩阵中的最大数和最小数您需要返回一个整数数组array,该数组array[0]表示最大值,而数组array[1]表示最小值。示例样例1:Input:[[1,2,3],[... 查看详情
leetcode515在每个数行中找最大值[bfs二叉树]heroding的leetcode之路(代码片段)
解题思路:BFS遍历每一层,统计每一层的最大值放入数组中,代码如下:/***Definitionforabinarytreenode.*structTreeNode*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr)*Tre 查看详情
leetcode1913.两个数对之间的最大乘积差(c++)(代码片段)
1913.两个数对之间的最大乘积差1题目描述2示例描述2.1示例12.2示例23解题提示4解题思路5代码详解1题目描述两个数对(a,b)和(c,d)之间的乘积差定义为(a*b)-(c*d)。例如,(5,6)和(2,7)之间的乘积差是(5*6)-(2*7)=16。给你一个整数数组nu... 查看详情
leetcode(周赛):移除字母异位词5234,最大连续楼层数6064(代码片段)
目录一、字母异位词(简单)1.题意分析2.解题思路3.完整代码4.时间复杂度和空间复杂度二、不含特殊楼层的最大连续楼层数(中等)1.题意分析2.解题思路3.完整代码4.时间复杂度和空间复杂度一、字母异位词(简单)给你一个下标从0开... 查看详情
leetcode(周赛):移除字母异位词5234,最大连续楼层数6064(代码片段)
目录一、字母异位词(简单)1.题意分析2.解题思路3.完整代码4.时间复杂度和空间复杂度二、不含特殊楼层的最大连续楼层数(中等)1.题意分析2.解题思路3.完整代码4.时间复杂度和空间复杂度一、字母异位词(简单)给你一个下标从0开... 查看详情
追寻最优美的代码leetcode421.数组中两个数的最大异或值(代码片段)
这里有leetcode题集分类整理!!!题目难度:中等题目描述:给你一个整数数组nums,返回nums[i]XORnums[j]的最大运算结果,其中0≤i≤j<n。进阶:你可以在O(n)的时间解决这个问题吗?n2暴力:... 查看详情