题解 | #把数组排成最小的数#

把数组排成最小的数

http://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993

import java.util.ArrayList;

public class Solution { public String PrintMinNumber(int [] numbers) { if(numbers.length == 0) return "";

	String[] s_arr = new String[numbers.length];
	for(int i = 0;i < numbers.length;i++) s_arr[i] = "" + numbers[i];
	
	String s = "";
	for(int i = 0;i < s_arr.length;i++) {
		for(int j = i+1;j < s_arr.length;j++) {
			if(is_big(s_arr[i],s_arr[j])) {
				String temp = s_arr[i];
				s_arr[i] = s_arr[j];
				s_arr[j] = temp;
			}
		}
	}
	for(int i = 0;i < s_arr.length;i++) s += s_arr[i];
	
	return s;
}

private boolean is_big(String s1,String s2) {
	String str1 = s1 + s2;
	String str2 = s2 + s1;
	boolean flag = false;
	for(int i = 0;i < str1.length();i++) {
		if(str1.charAt(i) == str2.charAt(i)) {
			continue;
		}
		flag = str1.charAt(i)<str2.charAt(i) ? false:true;
		break;
	}
	
	return flag;
}

}

全部评论

相关推荐

Edgestr:没项目地址就干脆把那一栏删了呗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务