LeetCode:Largest Number - 求整型数组中各元素可拼合成的最大数字

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、题目名称

Largest Number(求整型数组中各元素可拼合成的最大数字)

2、题目地址

https://leetcode.com/problems/largest-number/

3、题目内容

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

中文:给出一组非负整数,求这些非负整数可以拼接出的最大数字

说明:例如,给出数组 [3, 30, 34, 5, 9],拼接出的最大数字为9534330

4、解题方法

由于本题输入是一个整型数组,输出是一个字符串,因此在输出前,可以考虑对数组进行一下排序。

下面是一段WA(Wrong Answer)的Java代码,先将数组转换成一个字符串数组,再按照字符串的大小进行排序

import java.util.Arrays;
import java.util.Collections;/*** 功能说明:LeetCode 179 - Largest Number* 开发人员:Tsybius2014* 开发时间:2015年8月8日*/
public class Solution {/*** 最大的数字* @param nums 数组* @return*/public String largestNumber(int[] nums) {String[] array = new String[nums.length];for (int i = 0; i < nums.length; i++) {array[i] = String.valueOf(nums[i]);}Arrays.sort(array, Collections.reverseOrder());return String.join("", array);}
}

这个排序方法并不能按照题目要求正确排序。例如,数字8和883,如果按照字符串顺序排序,883大于8,就会把883放在前面,8放在后面,最后输出8838。而实际8883才是正确结果。正确的排序方法,是使用排序方法进行比较时,比较两个字符串(设为A和B),以先后顺序拼接而成的两个字符串A+B和B+A,如果A+B更大,则A在前B在后,否则A在后B在前。

一段可以AC(Accept)的Java代码如下:

/*** 功能说明:LeetCode 179 - Largest Number* 开发人员:Tsybius2014* 开发时间:2015年8月8日*/
public class Solution {/*** 最大的数字* @param nums 数组* @return*/public String largestNumber(int[] nums) {String[] array = new String[nums.length];for (int i = 0; i < nums.length; i++) {array[i] = String.valueOf(nums[i]);}String temp;for (int i = 0; i < array.length; i++) {for (int j = i + 1; j < array.length; j++) {if ((array[i] + array[j]).compareTo(array[j] + array[i]) < 0) {temp = array[i];array[i] = array[j];array[j] =temp;}}}if (array[0].equals("0")) {return "0";} else {return String.join("", array);}}
}

END

转载于:https://my.oschina.net/Tsybius2014/blog/489530

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js实现样式切换

2019独角兽企业重金招聘Python工程师标准>>> <ul id"styles"> <li id"default">经典</li> <li id"blue">淡蓝</li> <li id"brown">棕色</li> </ul> $("#styles li&…

CV算法面试题学习

本文记录了CV算法题的学习。 CV算法面试题学习 1 点在多边形内&#xff08;point in polygon&#xff09;2 高斯滤波器3 ViTPatch EmbeddingPosition EmbeddingTransformer Encoder完整的ViT模型 4 SE模块5 Dense Block6 Batch Normalization 1 点在多边形内&#xff08;point …

【推荐软件】wingrep

linux下搜索文本中的字符串时&#xff0c;习惯了find和grep的结合&#xff0c;很强大&#xff0c;但是windows下没有这两个命令&#xff0c;不用IDE编程时搜索略显不便。google一下&#xff0c;原来有wingrep工具可以用&#xff0c;可以实现相同的功能&#xff0c;来推荐一下给…

flash如何转html5,闪客精灵如何将Flash格式转换成HTML5

如何将Flash格式转换成HTML5?闪客精灵就是为Flash格式转换为HTML5而生的&#xff0c;他能够快速的将任何Flash文件&#xff0c;不管是SWF还是EXE格式的Flash格式转换成能被HTML5识别的HTML格式的文件。那么如何用闪客精灵将Flash格式转换为HTML5呢?下面是关于闪客精灵将Flash…

一壶 100℃ 的开水从多高倒进嘴里不会觉得烫?

全世界只有3.14 % 的人关注了爆炸吧知识先说结论&#xff1a;大约50米左右。 水从高空落下&#xff0c;先倒的水快&#xff0c;后倒的水慢&#xff0c;所以必然很快撕裂&#xff0c;成为细小的水滴。因此&#xff0c;这里就只讨论水滴的散热问题&#xff0c;而不考虑一大团水的…

当你的技术债务到期时,LinkedIn的故事 | IDCF

原文&#xff1a;https://www.linkedin.com/pulse/when-your-tech-debt-comes-due-kevin-scott/译者&#xff1a;冬哥那是 2011 年 10 月&#xff0c;就在 LinkedIn 上市后的第二次财报发布之前的几周。LinkedIn的业务做得很好&#xff0c;从任意可见角度来衡量&#xff0c;可以…

再现神人!仅仅只花4天半就解开了史上最难密码,这下整个圈子都炸开了.........

全世界只有3.14 % 的人关注了爆炸吧知识鲁迅先生曾说&#xff0c;记录这东西&#xff0c;就是用来打破的。前阵子程序员圈子一定热呼的不可开交&#xff0c;咋回事&#xff1f;还不是因为有个程序员妹子捅出了一个大篓子。事情是这样的&#xff0c;在德国慕尼黑有一个名叫 Leah…

拥抱开源!除了微软红帽,这些国际大厂你认识几个?

在上世纪 90 年代&#xff0c;开源操作系统 Linux 出现时&#xff0c;有能力自行安装使用的用户并不多。因此&#xff0c;早期开源社区和开源软件厂商的一大工作就是向用户售卖书籍&#xff0c;提供初始的技术支持。比如基于 Linux 的内核&#xff0c;一批开源软件厂商开发出不…

湖南工业职业技术学院计算机协会,计算机网络协会

一、协会简介于2005年成立&#xff0c;系信息工程系直属协会。以学习网络知识理论及技术实践为主&#xff0c;以业余活动为辅的双向协会。由我系专业教研团队亲自授课教学&#xff0c;达到教学合一效果。注重培养高技能、高素质综合能力人才。二、协会宗旨以普及计算机基础知识…

浙大月赛C题(2012/8)Cinema in Akiba(线段树)

http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId4791 &#xff08;1&#xff09;第一次写浙大的题目&#xff0c;这题让我十分意外&#xff0c;基本的线段树类型&#xff08;求第x个空位&#xff09;。 &#xff08;2&#xff09;电影院里&#xff0c;一次…

生病了女朋友说要「陪床」,结果真的是陪床不是陪我......

1 生病住院了女朋友说要来陪床结果真的是陪床不是陪我......▼2 气氛突然微妙......▼3 隔壁的一家人都馋哭了&#xff01;▼4 上街偷拍帅哥的正确方法▼5 WOW!AMAZING!▼6 史上最强小学生出现了&#xff01;▼‍7 养二哈不光挺费家具的还挺废人的▼你点的每个赞&#x…

System.Text.Json 自定义 Conveter

System.Text.Json 自定义 ConveterIntroSystem.Text.Json 作为现在 .NET 默认提供的高性能 JSON 序列化器&#xff0c;对于一些比较特殊类型支持的并不太好&#xff0c;业务需求中总是有各种各样的需要&#xff0c;很多时候就需要用到自定义 Converter &#xff0c;对于微软新出…

50张图,带你认识大学各专业

全世界只有3.14 % 的人关注了爆炸吧知识专业选的好每天像高考掐指一算&#xff0c;开学就近在眼前。当初纠结自己是考清华还是北大的那一幕也还是历历在目。不过&#xff0c;最后还是没有选择他们&#xff0c;一是因为北京离家太远&#xff0c;怕自己想家&#xff0c;二是因为他…

通达学院计算机组成原理试卷及答案,2021全国网络工程专业大学排名(5篇)

2018全国网络工程专业大学排名(5篇)高考填报志愿选择专业的话&#xff0c;考生需要了解你选择的专业在全国排名怎么样以及选择学校开设的专业在全国排名怎么样&#xff1f;高考升学网小编带你一起了解关于网络工程开设专业的大学排名。以及网络工程就业前景排名怎么样&#xff…

第一次去四川的广东人是什么下场?

1 第一次去四川的广东人▼2 酒店&#xff1a;好的&#xff0c;下次把床头柜也粘地上▼3 朋友家楼下有一窝乌鸦重点是乌鸦窝是晾衣架做的那么问题来了......它们从哪里偷的那么多衣架&#xff1f;&#xff1f;▼4 没有妈咪编不出来的毛衣▼5 这简直一毛一样▼6 我今天非要…

在java中写出html代码,在java里写html代码

在java里写html代码[2021-02-09 07:31:38] 简介:php去除nbsp的方法&#xff1a;首先创建一个PHP代码示例文件&#xff1b;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#xff1a;《…

简单的比较两数大小

#!/bin/bash#testecho "----- 比较两数大小-----";while (true) do{echo -n " 请输入a:";read a;echo -n " 请输入b:";read b;if [ $a -eq $b ]then echo "ab&#xff01;";elif [ $a -lt $b ]then echo "a 小于 b || $a < $b…

大咖来了!今年的 COSCon 主论坛你可以见到这些大咖

“ 点击蓝字 / 关注我们 ”| 作者&#xff1a;COSCon21 组委会| 编辑&#xff1a;王玥敏| 设计&#xff1a;朱亿钦COSCon21 主论坛已经开始了紧锣密鼓的筹备工作&#xff0c;大咖们走进影棚&#xff0c;录制主题演讲。那么在本次主论坛中&#xff0c;你都能见到哪些大咖呢&…

3部世界顶级宇宙纪录片,献给对宇宙万物充满好奇的你

全世界只有3.14 % 的人关注了爆炸吧知识宇宙深邃美丽&#xff0c;是黑夜的荧光&#xff0c;是夏天里冒着凉气的西瓜&#xff0c;总是诱人地勾起一代又一代人探索的欲望。对于宇宙思索与探索&#xff0c;人类的脚步从未停止。正是人类对宇宙的好奇&#xff0c;撑起了人类发展的大…

2014全国计算机二级ms office,2014计算机二级MS Office真题及答案

根据光盘中素材文件夹中“操作题素材”子文件夹中“操作题4.2”中所提供的“迎春花”及其中的图片&#xff0c;制作名为“迎春花”的演示文稿&#xff0c;要求如下&#xff1a;(1)有标题页&#xff0c;有演示主题&#xff0c;制作单位(老年协会)&#xff0c;在第一页上要有艺术…