剑指offer中的一个题。不过感觉自己的方法比较好(^_^),顺便就贴出来,直接上代码
import java.util.Scanner;
public class Main {
public static int moreThanHalf(int []iArr) {
int i = 0;
for (int j = iArr.length - 1; i < j; i++) {
if (iArr[i] != iArr[j]) {
j--;
}
}
return iArr[i];
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String[] sArr = input.nextLine().split("\\s+");
int[] iArr = new int[sArr.length];
for (int i = 0; i < iArr.length; i++) {
iArr[i] = Integer.parseInt(sArr[i]);
}
System.out.println(moreThanHalf(iArr));
}
}
目前还没发现有出错的用例,如果哪位道友发现了,欢迎告知