小弟昨天面试遇到的 请大家指教!
写一个长度为n 的整型数组 , 求出重复出现次数最多的那个数 .
写一个长度为n 的整型数组 , 求出重复出现次数最多的那个数 .
解决方案 »
- 怎么在别人电脑用自己写的程序 帮帮 谢谢
- jdk\lib, jdk\jre\lib 和 jdk\jre\lib\ext 这三个文件夹有什么区别呀?
- 请高手来看一看我的这个问题 关于一个NullPointerException错误的!!
- JAVA中有没有Web组件,就是可以显示网页的那种控件
- 菜鸟的问题
- 小程序如何才能在IE中运行?
- 开个高级JAVA栏把,这样初级,看好多初级的问题受不了啊
- 怎么觉得“定义一个类封装一个方法来实现……”的这种说法有点怪怪的?
- 有关classpath的几个问题!
- 各位高手,谁替我解释一下“this”
- 关于JXL输出Excel单元格换行问题!
- 记事本 程序 你会做吗???
int result = 0;
for (int i = 0; i < array.length; i++) {
int c = search(array, array[i]);
int next = i == array.length - 1 ? array.length - 1 : i + 1;
int n = search(array, array[next]);
result = c > n ? array[i] : array[next];
}
System.out.println("重复最多的数字是: " + result);
} private int search(int[] array, int w) {
int counter = 0;
for (int i = 0; i < array.length; i++) {
if (w == array[i]) {
counter++;
}
}
return counter;
} public static void main(String[] args) {
Test5 t = new Test5();
int[] array = new int[] {1, 2, 3, 4, 5, 5, 4, 5, 3, 6, 5, 3, 2, 5, 7, 5};
t.gogogo(array);
}
}
这句是判断是否已经循环到数组的倒数第二个,以至于不会出现数组越界的错误.
这句是把出现次数最多的一个数赋给变量 result
{
public static void main(String[] args)
{
System.out.println("Hello World!");
int num[]=new int[]{1,2,3,2,2,2,4,5,6,7};
int i,j,aa=0,k=0,max=1;
for(i=0;i<9;i++)
{ k=0;
for(j=0;j<9;j++)
{
if(num[i]==num[j])
{
k++;
if(k>max)
{max=k;
aa=num[i];
}
}
}
}
System.out.println("the number is: "+aa+": "+max+"times");
}
}
public Search(){
}
public int find(int[] array, int i){
int countTemp = 0;
for(int j=0; j<array.length; j++){
if(array[i] == array[j]){
countTemp ++;
}
}
return countTemp;
}
public static void main(String args[]){
int[] array = new int[]{2,2,2,3,3,3,1,1,1};
Search app = new Search();
int result = 0;
int max = 0;
for(int i=0; i<array.length; i++){
if(result < app.find(array, i)){
result = app.find(array, i);
max = array[i];
}
}
System.out.println("出现最多的数是:" + max + "\n出现的次数是:" + result);
}
}楼上最好把循环条件里的9改成num.length;
不过好像如果同时出现好几个数字重复次数一样的话,就郁闷了,只能打印其中的一个~~
int result = 0;
int temp = 0;
for (int i = 0; i < array.length; i++) {
int c = search(array, array[i]);
if (c > temp) {
temp = c;
result = array[i];
}
}
System.out.println("重复最多的数字是: " + result);
} private int search(int[] array, int w) {
int counter = 0;
for (int i = 0; i < array.length; i++) {
if (w == array[i]) {
counter++;
}
}
return counter;
} public static void main(String[] args) {
Test5 t = new Test5();
int[] array = new int[] {1, 2, 2, 2, 8, 2, 3, 4, 5, 5, 6, 7, 8};
t.gogogo(array);
}
}
package com.interFace;public class SearchFor {
public static void main(String[] args)
{
int[] array = new int[] {2, 1,1,1,1,1,1,1,1,1,1, 3, 4, 5, 5, 4, 5, 3, 6, 5, 3, 2, 5, 7, 5,7,7};
int result = 0;
int maxvalue = 0;
int j = 0;
for(int i = 0; i < array.length; i++)
{
int c = search(array, array[i]);
int next = (i == (array.length - 1 )) ? array.length - 1 : i + 1;
int n = search(array, array[next]);
result = c > n ? array[i] : array[next];
if(c>n){
if(maxvalue>c){
}else{
maxvalue = c;
j = array[i];
}
}else{
if(maxvalue>c){
}else{
maxvalue = c;
j = array[next];
}
}
}
System.out.println( "重复最多的数字是: " + j);
} public static int search(int[] array, int w)
{
int counter = 0;
for (int i = 0; i < array.length; i++)
{
if (w == array[i])
{
counter++;
}
}
return counter;
} }