一道java面试题。

2024-12-19 02:46:49
推荐回答(5个)
回答1:

求最大值
int i[]={1,3,5,3,7,2,9,2,3}
int max=-1;
for(int l=0;lif(maxmax=i[l];

max即为所求
求最多数
int i={1,3,5,3,7,2,9,2,3}
int k[]=new int[i.length];
int num[]=new int[i.length];
int max=0;
int index;
int p=0;
int y=0;
for(int x=0;xfor(y=0;yif(k[y]==i[x]){
num[y]++;
if(maxmax=num[y];
index=i[x];
}
break;}
}
if(y==p){
k[p]=i[x];
if(maxmax=num[p]
index=i[x];
}
p++
}
}

回答2:

int array[] = new int[]{3,4,56,6,6,3};
int max =0;//最大数
int maxNum =0;//记录最高次数
int maxData =0;//记录最高次数的数是哪个
Map map = new HashMap();
for(int data:array){
if(max max =data;
}
Integer num = map.get(data);
if(num ==null){
num =1;
map.put(data,1);
}else{
num ++;
}
if(num>maxNum){
maxNum=num;
maxData=data;
}
}
System.out.printfln("最大数字:"+max);
System.out.printfln("最高次数的数字:"+maxData);

回答3:

刚写的,可能方法有点笨,不过结果好像是没问

public class MyCount {
public static void main(String[] args) {
int[] a = { 1, 3, 5, 3, 7, 2, 9, 2, 3 };
int[] b = a.clone();
int temp1 = a[0];
int temp2 = 0;
int temp4 = 0;
for (int i = 1; i < a.length; i++) {
if (a[i] > temp1) {
temp1 = a[i];
}
}
for (int i = 0; i < b.length; i++) {
int temp3 = 0;
for (int j = 1; j < a.length; j++) {
if (b[i] == a[j]) {
temp3++;
}
if (temp3 > temp2) {
temp4 = b[i];
}

}
}
System.out.println(temp1);
System.out.println(temp4);
}
}

回答4:

求最大值你应该会吧,用HashMap统计出每个数字出现的次数
for(int i:array)
{
map.put(word,(null==map.get(i)?1:map.get(i)+1));
}

回答5:

一个循环搞定!