1.实验代码:
package zuoye
import java.util.Scanner;
public class program
{
public static void main(String[] args)
{
int i,Number;
System.out.println("请输入帖子总数:");
Scanner in=new Scanner(System.in);
Number=in.nextInt();
int array[]=new int[Number];
System.out.println("请输入帖子的ID");
Scanner t=new Scanner(System.in);
for(i=0;i<Number;i++) //给数组赋值
{
array[i]=t.nextInt();
}
System.out.println(find(array,Number));
}
public static int find(int[] array, int n)
{
int candidate = 0; //要找的id
int nTimes = 0; //要找的id出现的次数
for(int i = 0; i < n; i++)
{
if(nTimes == 0)
{ //如果次数变为0,则重新指定candidate
candidate = array[i];
nTimes = 1;
}
else
{
if(candidate == array[i])
{ //如果candidate和array[i]的值相等,那么candidate出现的次数可以加1
nTimes++;
}
else
{
nTimes--; //如果不相等,那么candidate出现的次数减1
}
}
}
return candidate;
}
}
2.实验截图:
3.个人总结:
对于一些问题,可以剑走偏锋,不一定走老路,可以开发创新,从别的方面出发从而实现问题。