【第22期】观点:IT 行业加班,到底有没有价值?

Algorithms—179.Largest Number

原创 2015年07月10日 18:29:57

思路:比较粗暴,写一个比较方法,然后冒泡排序,最后合并。


public class Solution {
	public String largestNumber(int[] nums) {
		if (nums.length == 1) {
			return String.valueOf(nums[0]);
		}
		int temp = 0;
		for (int i = nums.length - 1; i > 0; i--) {
			for (int j = 0; j < i; ++j) {
				if (new Solution().compare(nums[j], nums[j + 1])) {
					temp = nums[j];
					nums[j] = nums[j + 1];
					nums[j + 1] = temp;
				}
			}
		}
		StringBuffer sb = new StringBuffer();
		if (nums[nums.length - 1] == 0) {
			return "0";
		}
		for (int i = nums.length - 1; i >= 0; i--) {
			sb.append(String.valueOf(nums[i]));
		}
		return sb.toString();
	}

	public boolean compare(int a, int b) {
		char[] ca=(String.valueOf(a)+String.valueOf(b)).toCharArray();
		char[] cb=(String.valueOf(b)+String.valueOf(a)).toCharArray();
		for (int i = 0; i < ca.length; i++) {
			if (ca[i]>cb[i]) {
				return true;
			}
			if (ca[i]<cb[i]) {
				return false;
			}
		}
		return false;
	}
}


耗时:392ms,发现同一个算法测试情况可能会相差100ms多。。。。真是瞎了狗眼。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

LeetCode179:Largest Number

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

Linux下端口扫描程序nmap介绍

摘要  nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

Greedy Algorithms and Maximum Clique

Greedy Algorithms and Maximum Clique James McCaffrey Download the Code Sample I...
  • lshni
  • lshni
  • 2011-12-29 14:22
  • 1095

2000个软件开发领域的高频特殊词及精选例句(一)

superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律、前缀后缀规律、词之间的相似性规律等等。 1、单词 <a href="http://www.iciba.com/had

Algorithms Part 1-Question 1- the number of inversions-逆序数计算算法

def countInversion(arrayList): if len(arrayList)==1: return (0,arrayList) halfIndex=int(len(arrayList)/2.0) countA,sortedA=co...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)