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多。。。。真是瞎了狗眼。


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

Grokking Algorithms 算法图解 一本基于Python的算法科普读本

Grokking Algorithms算法图解是由美国软件工程师Aditya Bhargava写的一本算法科普读物,由图灵教育引进,组织翻译之后17年三月份正式出版,目前来说知名度还不是很高。 毕...
  • GeneralLi95
  • GeneralLi95
  • 2017年06月01日 10:26
  • 611

麻省理工学院《算法导论》(MIT - Introduction to Algorithms)

关于课本的介绍如下: 本书自第一版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考手册。本书全面论述了算法的内容,从一定深度上涵盖了算法的诸多方面,同时其讲授和分析方法又兼顾了...
  • ningyaliuhebei
  • ningyaliuhebei
  • 2014年04月02日 17:32
  • 926

《算法》第4版(Algorithms Fourth Edition)在Eclipse下的重定向与管道问题

《算法》第4版(Algorithms Fourth Edition) 人民邮电出版社 在本书中的示例中,Java程序可以从命令行参数和标准输入流的抽象字符流中获取输入,但我们日常用的最多的环境是在Wi...
  • huanghxyz
  • huanghxyz
  • 2017年06月25日 23:04
  • 400

Algorithms(week 1,普林斯顿大学公开课)

如需视频,课件资料等,请留言,留下email 设计一个算法的步骤:Steps to developing a usable algorithm. ・Model the problem. ・Fin...
  • lemon89
  • lemon89
  • 2016年02月02日 01:28
  • 1453

机器学习算法笔记2_1:生成学习算法(Generative Learning algorithms)

我们之前学习的算法都是基于p(y|x;θ)p(y|x;\theta), 他的思想是找出找出一个决策边界来将两类分开,而生成算法是先对两个类别分别建模,为了将样本分开,将样本代入两个模型,看样本与哪个类...
  • BUPT_WX
  • BUPT_WX
  • 2016年04月21日 14:01
  • 4614

初学STM32遇到的一些问题

原文地址::http://blog.csdn.net/sy_lixiang/article/details/8586909 相关文章 1、STM8S单片机EEPROM烧录错误:Verify...
  • xqhrs232
  • xqhrs232
  • 2016年02月23日 12:35
  • 2709

CMAKE学习笔记(二)

声明:本文为转载博客(感谢网友dbzhang800),转载链接在博客末尾 在 Cmake学习笔记一 中通过一串小例子简单学习了cmake 的使用方式。 这次应该简单看看语法和常用的命令了。 ...
  • u012700322
  • u012700322
  • 2016年12月23日 14:26
  • 225

Algorithms: 队列(二叉堆)

/*------------------------------------------------------------------------------------- * Project: ...
  • qqzwp
  • qqzwp
  • 2014年04月03日 18:02
  • 863

基本的数据类型分析----java.lang.Number类及其子类分析

编写了一个测试程序,如下:     int a = 1000, b= 1000;      System.out.println(a == b);      Integer c = 1000...
  • springcsc1982
  • springcsc1982
  • 2013年04月11日 15:07
  • 3496

从零开始学C++之标准库类型(二):vector 类简介和例程

一、标准库的vector类型 vector是同一种类型的对象的集合  vector的数据结构很像数组,能非常高效和方便地访问单个元素 vector是一个类模板(class template)  要使...
  • Simba888888
  • Simba888888
  • 2013年07月11日 17:10
  • 2404
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Algorithms—179.Largest Number
举报原因:
原因补充:

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