2

我可以找到仅读取输入而不添加到数组的多数元素吗?我的代码在大输入时不起作用,数字差异很大。

我发现我的错误。有正确的代码:

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;
    }
4

1 回答 1

1

大输入不应该引起任何问题,您只是假设这是在(a)大文件上失败时的问题?)。

代码看起来或多或少还可以,但是如果计数器达到零,您必须选择(= 设置first为新值)下一个元素,而不是前一个元素。

于 2012-08-29T17:26:41.253 回答