179. 最大数。

news/2024/11/17 6:33:21/

给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。

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

示例 1:

输入:nums = [10,2]
输出:“210”
示例 2:

输入:nums = [3,30,34,5,9]
输出:“9534330”

析:

1、将int[]转化成String[]2、对String[]进行字典序逆序排序:
Arrays.sort(ss, (a, b) -> {String ab = a + b;String ba = b + a;return ba.compareTo(ab);
});
3、拼接String[]中的每个元素,去掉前导0

解:

public class Test {public static void main(String[] args) {int[] nums = {0, 0};Test test = new Test();String res = test.largestNumber(nums);System.out.println(res);}public String largestNumber(int[] nums) {int length = nums.length;String[] ss = new String[length];for (int i = 0; i < length; i++) {ss[i] = "" + nums[i];}Arrays.sort(ss, (a, b) -> {String ab = a + b;String ba = b + a;return ba.compareTo(ab);// 根据结果从大到小排序});StringBuffer sb = new StringBuffer();for (String s : ss) {sb.append(s);}//排除这种请款:nums = [0, 0]String res = sb.toString();int k = 0;for (int i = 0; i < res.length(); i++) {if (i < res.length() - 1 && res.charAt(i) == '0') {k++;} else {break;}}return res.substring(k);}
}

http://www.ppmy.cn/news/807197.html

相关文章

[leetcode] 179 Largest Number

拿到这个题的第一个想法是 将int转换成string&#xff0c;然后按照string的比较规则&#xff0c;但是发现 13<3<34这种不好处理。 那么何不我们直接比较下两者的组合&#xff0c;取其较大的呢&#xff0c;由此自定义优先级比较即可。 注意处理全是0的情况&#xff0c;只…

巴比特 | 元宇宙每日必读:继续加码!韩国政府将投资179亿韩元扶持本国元宇宙企业的内容开发及海外扩张...

摘要&#xff1a;据韩国官方电子政务网站消息&#xff0c;韩国政府积极推动元宇宙公司发展&#xff0c;决定投资 179 亿韩元&#xff08;约 1460 万美元&#xff09;用于扶持元宇宙企业内容开发和海外扩张&#xff0c;以将它们发展成为具有全球竞争力的专业化元宇宙公司。 国内…

[LeetCode]179. Largest Number

[LeetCode]179. Largest Number 题目描述 解题思路 求最大的数&#xff0c;在数组中对于每一位数字数值越大应当越靠前&#xff0c;如&#xff1a;9 > 5&#xff0c;所以9应该在5之前 需要考虑的是对于不同位数的数之间的比较 9 < 35 &#xff0c;但是9应该在35之前 …

LeetCode-179-最大数

最大数 题目描述&#xff1a;给定一组非负整数 nums&#xff0c;重新排列每个数的顺序&#xff08;每个数不可拆分&#xff09;使之组成一个最大的整数。 **注意&#xff1a;**输出结果可能非常大&#xff0c;所以你需要返回一个字符串而不是整数。 示例说明请见LeetCode官网。…

美元和人民币 货币转换

astr(input()) bfloat(input()) if a[-1]$: print("{:.2f}&#xffe5;".format(eval(a[:-1])*b)) elif a[-1]&#xffe5;: print("{:.2f}$".format(eval(a[:-1])/b)) else: print("Data error!")

【leetcode.179】最大数

最大数 一、要求 给定一组非负整数&#xff0c;重新排列它们的顺序使之组成一个最大的整数。 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说明: 输出结果可能非常大&#xff0c;所以你需要返回一个字符串而不是整数。 二、思路 如果nu…

谷歌手机正式发布 售价179美元(图)

转自: http://www.sina.com.cn 2008年09月24日 00:15 新浪科技 .moduleSingleImg01 img{border:1px solid #D1E3F4}G1拥有3英寸触摸屏&#xff0c;导航按钮&#xff0c;以及全尺寸QWERTY键盘 新浪科技讯 北京时间9月23日晚22:30&#xff0c;美国运营商T-Mobile USA在纽约…

LeetCode-179

最大数 给定一组非负整数 nums&#xff0c;重新排列每个数的顺序&#xff08;每个数不可拆分&#xff09;使之组成一个最大的整数。注意&#xff1a;输出结果可能非常大&#xff0c;所以你需要返回一个字符串而不是整数。 示例 1&#xff1a; 输入&#xff1a;nums [10,2] 输…