我能找到多数元素只读取输入而无需添加到数组中吗? 我的代码在大输入时不起作用,数字差异很大。
我发现了自己的错误。有正确的代码:
int n = Integer.parseInt(bin.readLine()); // read number of data
int h = 0; //input data
int count = 1; //counter
int lf = 0; // last top counting
int first = 0; // top counter num
for (int x = 0; x < n; x++) {
lf = h;
h = Integer.parseInt(bin.readLine());//read input number
if (x == 0) {
first = h;
}
if (h == first) {
count++;
} else {
count--;
}
if (count == 0) {
first = lf;
count = 1;
}
答案 0 :(得分:1)
大输入不应该导致任何问题,你只是假设它是(a)大文件(s?)失败时的问题。
代码看起来或多或少好,但是如果计数器达到零,你必须选择(=设置first
到新值) next 元素,而不是前一个。