一个能将给定非负整数数组中的数字排列成最大数字的函数(数组元素长度随机)
2017-07-31 08:46
756 查看
public class ToArray{
public static void main(String[] args){
int[] a = {55,9,5475,2357,5575};
int temp = 0;
for(int i=1;i<a.length;i++){
for(int j=0;j<a.length-i;j++){
if(compare(a[j],a[j+1])){
//a[j]优先级<a[j+1]交换位置
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
StringBuffer sb = new StringBuffer();
for(int i : a){
System.out.println(i);
sb.append(i);
}
System.out.println(sb);
}
public static boolean compare(int a,int b){
String m = Integer.toString(a);
String n = Integer.toString(b);
for(int i=0;i<m.length()&&i<n.length();i++){
if(m.charAt(i)<n.charAt(i)){
return true;
}else if(m.charAt(i)>n.charAt(i)){
return false;
}else{
if(m.length()<n.length()){
if(m.length()-1 == i){
return true;
}
}else{
if(n.length()-1 == i){
return false;
}
}
continue;
}
}
return true;
}
}
public static void main(String[] args){
int[] a = {55,9,5475,2357,5575};
int temp = 0;
for(int i=1;i<a.length;i++){
for(int j=0;j<a.length-i;j++){
if(compare(a[j],a[j+1])){
//a[j]优先级<a[j+1]交换位置
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
StringBuffer sb = new StringBuffer();
for(int i : a){
System.out.println(i);
sb.append(i);
}
System.out.println(sb);
}
public static boolean compare(int a,int b){
String m = Integer.toString(a);
String n = Integer.toString(b);
for(int i=0;i<m.length()&&i<n.length();i++){
if(m.charAt(i)<n.charAt(i)){
return true;
}else if(m.charAt(i)>n.charAt(i)){
return false;
}else{
if(m.length()<n.length()){
if(m.length()-1 == i){
return true;
}
}else{
if(n.length()-1 == i){
return false;
}
}
continue;
}
}
return true;
}
}
相关文章推荐
- 编写一个能将给定非负整数数组中的数字排列成最大数字的函数
- 一个能将给定非负整数数组中的数字排列成最大数字的函数
- 一个能将给定非负整数数组中的数字排列成最大数字的函数
- 编写一个能将给定非负整数列表中的数字排列成最大数字的函数。
- 编写一个能将给定非负整数列表中的数字排列成最大数字的函数
- 编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为95021。
- 编写一个能将给定非负整数列表中的数字排列成最大数字的函数
- 编写一个能将给定非负整数列表中的数字排列成最大数字的程序
- java__给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳跃的最大长度。 请确认你是否能够跳跃到数组的最后一个下标。
- 给定一个数组,当中有正负数,求当中的一段“子数组”(即任意长度,连续的数字), 使得这个“子数组”的和是所有“子数组”和中最大的
- 给定一个非负整数数组,最初定位在数组的第一个索引处。组中的每个元素表示您在该位置的最大跳跃长度。求最小跳数
- java__给定一个升序排列的数组,去掉重复的数,并输出新的数组的长度
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 1.输入一个数组长度,动态创建数组,所有元素随机生成,输出元素中的最大值;
- 一种基于归并排序及随机数生成器对一个给定数组进行随机排列的算法
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的
- 写一个函数,参数为$n,生成一个数组,其元素为1~$n,各元素位置随机排列,不得重复
- 有两个升序排列的数组A1和A2,给A1开辟的剩余内存有足够空间容纳A1,请实现一个函数,把A2中所有数字插入到A1中,并且是按照升序排列的