【力扣】179. 最大数
发布日期:2021-06-29 19:47:12
浏览次数:2
分类:技术文章
本文共 1139 字,大约阅读时间需要 3 分钟。
题目:给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。
注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。
示例 1:
输入:nums = [10,2]
输出:“210” 示例 2:输入:nums = [3,30,34,5,9]
输出:“9534330” 示例 3:输入:nums = [1]
输出:“1” 示例 4:输入:nums = [10]
输出:“10”提示:
1 <= nums.length <= 100
0 <= nums[i] <= 109答案:
class Solution { public String largestNumber(int[] nums) { int count0 = 0; Listlist = new ArrayList<>(); for(int n : nums){ if(n == 0) count0++; list.add(String.valueOf(n)); } list.sort((o1, o2) -> (o2 + o1).compareTo(o1 + o2));//比较器-相当于: /*list.sort(new Comparator () { @Override public int compare(String o1, String o2) { return (o2 + o1).compareTo(o1 + o2); } });*/ //compareTo:如果指定的数与参数相等返回0.如果指定的数小于参数返回 -1((o2+o1)<(o1+o2))。如果指定的数大于参数返回 1。 //Comparator:假如o1的值大于o2,你返回1,此时调用Collections.sort()函数就是升序;假如o1的值大于o2,你返回-1,此时调用Collections.sort()函数就是降序。o1-o2为升序序排列,o2-o1为降序排列,若具体到某一字段,则根据该字段进行排列 if(count0 == nums.length) return String.valueOf(0); return String.join("", list);//list中每个元素用""连接 }}
转载地址:https://darkness.blog.csdn.net/article/details/115614745 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月12日 05时52分00秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
菜鸟笔记九:video
2019-04-30
vue面试题一
2019-04-30
vue面试题二
2019-04-30
vue面试题四
2019-04-30
菜鸟笔记十:选择器
2019-04-30
菜鸟笔记十一:flex布局
2019-04-30
Mybatis动态sql拼接多个like模糊查询
2019-04-30
mybatisplus的按需自动注入
2019-04-30
LeetCode 19.删除链表的倒数第 N 个结点
2019-04-30
多线程 思维导图
2019-04-30
常用类介绍 思维导图
2019-04-30
Vector子类
2019-04-30
set集合
2019-04-30
HashSet集合
2019-04-30
TreeSet集合
2019-04-30
TreeSet比较器
2019-04-30
集合的迭代输出
2019-04-30
Map接口
2019-04-30
TreeMap集合
2019-04-30
pecl安装PHP swoole扩展遇到的问题
2019-04-30