博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode——Largest Number
阅读量:6874 次
发布时间:2019-06-26

本文共 1191 字,大约阅读时间需要 3 分钟。

Description:

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

For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330.

Note: The result may be very large, so you need to return a string instead of an integer.

把所给的数字排列成最大的数,首先想到的思路是按位比较,但是那样比较麻烦而且容易出BUG,所以还有一种简单的思路就是在排序的时候比较两种情况前后排列取结果最大的那种顺序。代码少好理解。

public class Solution {     public String largestNumber(int[] nums) {       ArrayList
list = new ArrayList
(); for(int i : nums) { list.add(new Number(i+"")); } Collections.sort(list); StringBuilder sb = new StringBuilder(); for(int i=list.size()-1; i>=0; i--) { sb.append(list.get(i).val); } java.math.BigInteger b = new java.math.BigInteger(sb.toString()); return b.toString(); }}class Number implements Comparable
{ String val; public Number(String val) { this.val = val; } public int compareTo(Number n) { java.math.BigInteger a = new java.math.BigInteger(this.val + n.val); java.math.BigInteger b = new java.math.BigInteger(n.val + this.val); return a.compareTo(b); }}

 

转载地址:http://btofl.baihongyu.com/

你可能感兴趣的文章
Python 进阶之路 (七) 隐藏的神奇宝藏:探秘Collections
查看>>
执行计划小总结
查看>>
egg(114)--egg之订单详情
查看>>
关于区块链那些事(用Python3体现)
查看>>
我从编程教室毕业
查看>>
使用 webpack 4 和 Babel 7 构建 React 应用及如何引入 Material Design
查看>>
Laravel+Dingo/Api 自定义响应
查看>>
【PHP 每日函数】第 01 周期
查看>>
SpiderData 2019年2月18日 DApp数据排行榜
查看>>
这40款优质APP大合集,总有一个适合你!
查看>>
从理论到实践 全面理解HTTP/2
查看>>
JavaScript五十问——对比来说CSS的Grid与FlexBox(上篇)
查看>>
使用音频转换器怎么转换电影的格式?
查看>>
35. Search Insert Position
查看>>
js 读取 input[type=file] 内容,直接显示文本 | 图片
查看>>
软件开发学习的5大技巧,你知道吗?
查看>>
每日两道前端面试题20190226
查看>>
2018回顾
查看>>
vue组件文档(.md)中自动导入示例(.vue)
查看>>
节点操作
查看>>