中兴面试题之一 (来自csdn)
(用最简单的方法) 有一个数组里有N个数,现在要你显示以第一位为1的在一列,然后空格
第一位为2的在一列,然后空格
。。。。。
第一位为n的在一列,然后空格
例子:23 2 3 234 365 564 12 13 34 35
结果:
12
13
2
234
3
34
35
365
564
以下是我在csdn上的回答:
修改了一下leshengdui 不要每次都要取出第一位 缺点是要另外建一个等长数组保存第一位的值
import java.util.Arrays;
public class Sort
{
public static void main(String[] args)
{
int[] a={23 ,2 ,3 ,234,365 ,564, 12 ,13 ,34 ,35,89,1023,34,223,67,87};
int first[]=new int[a.length]; //保存头一位的值
Arrays.sort(a);//排序
for(int k=0;k<a.length;k++){
int b=a[k];
while(b>10)
b=b/10;
first[k]=b;
}
for(int i=1;i<9;i++)//1-9作比较用
{
for(int j=0;j<a.length;j++)//提取第一位并与i比较相等好输出
{
if(first[j]==i)
System.out.println(a[j]);
}
System.out.println();//输出空行
}