[LintCode/LeetCode] Largest Number [Comparator的使用]

news/2024/9/20 11:25:18

Problem

Given a list of non negative integers, arrange them such that they form the largest number.

Example

Given [1, 20, 23, 4, 8], the largest formed number is 8423201.

Note

先将nums[]转化为String[],否则无法使用Comparator,其实转为Integer[]也可以,这里用String为例。
然后就是最关键的一步:创造一个Comparator,用以从大到小排列所有的strs[]元素。注意:return (s2+s1).compareTo(s1+s2); 这里的顺序不能变。
再将排列好的str[i]元素放入一个StringBuilder sb里,然后将sb转化为String result

如果这个result的第一个字符是0,那么我们不希望看到返回一个类似“000000000”的字符串,只要返回单字符的字符串"0"就可以了。
否则,返回result

Solution

public class Solution {public String largestNumber(int[] nums) {String[] strs = new String[nums.length];for (int i = 0; i < nums.length; i++) {strs[i] = Integer.toString(nums[i]);}Arrays.sort(strs, new Comparator<String>(){public int compare(String s1, String s2) {return (s2 + s1).compareTo(s1 + s2);}});StringBuilder sb = new StringBuilder();for (int i = 0; i < strs.length; i++) {sb.append(strs[i]);}String result = sb.toString();if (result.charAt(0) == '0') return "0";return result;}
}

https://dhexx.cn/news/show-2002909.html

相关文章

python提取数据集的字段名称,python实现提取COCO,VOC数据集中特定的类

1.python提取COCO数据集中特定的类pip install githttps://github.com/philferriere/cocoapi.git#subdirectoryPythonAPI提取特定的类别如下&#xff1a;from pycocotools.coco import COCOimport osimport shutilfrom tqdm import tqdmimport skimage.io as ioimport matplotl…

vba 如何从右开始搜索特定字符位置_以多个给定符号作为间隔拆分字符串

大家好&#xff0c;我们今日讲解"VBA信息获取与处理"教程中第十四个专题"Split函数提取数据信息的深入讲解"的第三节"以多个给定符号作为间隔拆分字符串"&#xff0c;这个专题是非常实用的知识点&#xff0c;希望大家能掌握利用。教程会提供配套…

高性能javascript笔记:浏览器中DOM操作的性能优化(二)

关于浏览器中DOM操作的性能优化&#xff0c;在上一篇博文《浏览器中DOM操作的性能优化(一)》中已经阐述了访问和修改DOM元素对性能的影响及优化方案。这次我们就来说一下关于页面的重绘和重排版问题。 当浏览器下载完所有的HTML标签和其组件(Javascript&#xff0c;css&#xf…

平常的工作笔记,很杂

eclipse使用SVN插件&#xff0c;在svn服务器无法连接的情况下&#xff0c;eclipse启动会出现死锁 JVM崩溃&#xff0c;报告 SIGNAL11&#xff0c;可能是SWT的BUG&#xff0c;可以试着使用SUn的JVM替换解决。 LinkedList 用于排序效率会比较低&#xff0c;因为collections.sort用…

线程与线程句柄

今天温习很久前写的代码&#xff0c;发现自己写的这么一句代码&#xff0c; m_hTheard CreateThread(NULL,0,RegNotifyProc,LPVOID(this),0,NULL);CloseHandle(m_hTheard); 突然给糊涂了&#xff0c;刚创建的线程&#xff0c;为什么有close了&#xff0c;还是当初入门不踏实&a…

javaweb项目启动的时候报No WebApplicationContext found

2019独角兽企业重金招聘Python工程师标准>>> 今天一个项目启动的时候报错&#xff1a;No WebApplicationContext found: no ContextLoaderListener registered? 所更改的变动就是在webxml中增加了一个一个来代理类&#xff0c;用这个代理类实现原先的一个filter功能…

php语言编程实例,PHP递归算法的一个实例

递归函数为自调用函数&#xff0c;在函数体内直接或间接自己调用自己&#xff0c;但需要设置自调用的条件&#xff0c;若满足条件&#xff0c;则调用函数本身&#xff0c;若不满足则终止本函数的自调用&#xff0c;然后把目前流程的主控权交回给上一层函数来执行&#xff0c;可…

转:理解Progressive enhancement

转自&#xff1a;http://ued.taobao.com/blog/2008/10/09/understanding-progressiveen-hancement-chs-translation/自 1994 年开始&#xff0c;Web 开发社群就擂起了名为“平稳退化 (Graceful Degradation)” 的大鼓。这是一个从工程界引入的概念&#xff0c;其主旨是为那些最…

vim 正则表达式 很强大

转自博客http://qianjigui.javaeye.com/blog/368449 毋庸多言&#xff0c;在vim中正则表达式得到了十分广泛的应用。 最常用的 / 和 :s 命令中&#xff0c;正则表达式都是不可或缺的。 下面对vim中的正则表达式的一些难点进行说明。 关于magic vim中有个magic的设定。设定方法为…

java基于springboot的毕业生信息招聘平台(java+springboot+vue+mysql)

运行环境&#xff1a; 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架springbootvue 项目介绍 毕业生信息招聘平台&#xff0c;主要的模块包括查看管理员&#xff1b;首页、个人中心、企业管理、空中宣讲会管理、招聘岗位管理、毕业生管理、个人…