假设某网上商城从数百万用户中抽选幸运用户,要求所查找到的用户账号的每一位都选取所有数据中的众数,且程序时间复杂度不得大于O(n):
package Unit_4;
public class Zhongshu {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] a={"1282156380","1526928697","4578317127","2741694809","0189647853","1756989758"};
int[][] b=new int[10][a[0].length()];
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length();j++) {
int temp=a[i].charAt(j)-'0';
b[temp][j]++;
}
}
for(int i=0;i<b[0].length;i++) {
int max=0,max_num=0;
for(int j=0;j<b.length;j++) {
if(max<b[j][i]) {
max=b[j][i];
max_num=j;
}
}
System.out.println(max_num);
}
}
}
执行结果为