leetcode oj java 179. Largest Number
来源:互联网 发布:linux vim不保存退出 编辑:程序博客网 时间:2024/05/29 08:35
一、问题描述:
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.
二、解决思路:
思路以及证明见剑指Offer中的题目“最小的数字”。
重写sort方法,将Int类型转化为string类型(拼接之后的数字范围可能会超出int的范围)对于m和n, 如果 mn > nm 那么 m排n前边,否则m在n后边。
三、代码:
package T01;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * @author 作者 : xcy * @version 创建时间:2017年1月1日 下午8:51:00 * 类说明 */public class t179 { public static void main(String[] args) { // TODO Auto-generated method stub int[] nums = { 0, 0, 1 }; System.out.println(largestNumber(nums)); } public static String largestNumber(int[] nums) { List<String> tmp = new ArrayList<String>(); for (int i : nums) { tmp.add(i + ""); } Collections.sort(tmp, new Comparator<String>() { @Override public int compare(String arg0, String arg1) { return compareString(arg0, arg1); } }); StringBuffer re = new StringBuffer(); int index = 0; for (int i = 0; i < tmp.size(); i++) { if (tmp.get(i).equals("0")) { index++; } else { break; } } if (index == tmp.size()) { index--; } for (int i = index; i < tmp.size(); i++) { re.append(tmp.get(i)); } return re.toString(); } public static int compareString(String s1, String s2) { int re = 0; String tmp = s1; s1 = s1 + s2; s2 = s2 + tmp; for (int i = 0; i < s1.length(); i++) { if (s1.charAt(i) < s2.charAt(i)) { return 1; } if (s1.charAt(i) > s2.charAt(i)) { return -1; } } return re; }}
0 0
- leetcode oj java 179. Largest Number
- <LeetCode OJ> 179. Largest Number
- LeetCode OJ Largest Number
- Leetcode 179. Largest Number (Medium) (java)
- [LeetCode]179.Largest Number
- LeetCode 179. Largest Number
- [leetcode] 179.Largest Number
- [LeetCode]179. Largest Number
- 179. Largest Number LeetCode
- leetcode 179. Largest Number
- LeetCode 179. Largest Number
- [leetcode] 179. Largest Number
- leetcode.179. Largest Number
- LeetCode-179.Largest Number
- LeetCode - 179. Largest Number
- [LeetCode] 179. Largest Number
- LeetCode 179. Largest Number
- LeetCode 179. Largest Number
- UVA 11865 Stream My Contest(最小树形图+二分)
- 以前搞前端开发的,现在想转java开发。以下是各种java学习资源
- 长久的深情能否维系
- js AJAX请求的 $.post方法的使用
- 【Hibernate框架】对象的三种持久化状态
- leetcode oj java 179. Largest Number
- MSP430应用技巧7:MSP430F5438A时钟的设置
- 如何解决angularJS中用post方法时后台拿不到值的问题
- codeforces141CQueue
- 【Hibernate框架】三种继承映射
- NIO 入门
- 分布式与集群(一):我眼中的分布式与集群
- Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter
- Jquery笔记之第一天