
代码
import java.util.*;
public class My {
/**
面试题11前面一道
*/
static class SoftAge {
private int[] ages;//员工年龄
private final int oldestAge=99;//最大年龄
private int[] timesOfAge = new int[oldestAge+1];//每个年龄出现次数
public SoftAge(int[] ages) {
this.ages=ages;
}
public void soft(){
for(int i=0;i<ages.length;i++){
int age=ages[i];
if(age<0 || age>99)
throw new RuntimeException("age不合法");
timesOfAge[age]++;
}
int index =0;//员工总数索引
for(int i=0;i<oldestAge;i++){
for(int j=0;j<timesOfAge[i];j++){//年龄重复出现几次,就设置几次该年龄
ages[index]=i;
index++;
}
}
}
public void print(){
for(int i=0;i<ages.length;i++){
System.out.println(ages[i]);
}
}
}
public static void main(String[] args) {
int[] ages = {1,2,3,6,4,7,5,4,3,5,2,8,9,7,77,55};
SoftAge ins = new SoftAge(ages);
ins.soft();
ins.print();
}
}
近期评论