0

我有以下循环:

    public int getIsRepeated(int index)
    {
        long currentValue = myValues[index - 1];
        long previousValue = myValues[index - 2];

        int count = 0;

        for (int i = index - 5; i >= 4; i =- 4) 
        {
            if (myValues[i] == currentValue && myValues[i - 1] == previousValue)
                count++;
        }

        return count;
    }

该表填充了数字,其中数字可以以 4 个为一组重复,例如:

        myValues[1] = 29;
    myValues[2] = 12;
    myValues[3] = 144;
    myValues[4] = 123;
    myValues[5] = 234;
    myValues[6] = 348;
    myValues[7] = 666;
    myValues[8] = 333;
    myValues[9] = 100;
    myValues[10] = 500;
    myValues[11] = 666;
    myValues[12] = 333;
    myValues[13] = 100;
    myValues[14] = 500;
    myValues[15] = 666;
    myValues[16] = 333;
    myValues[17] = 100;
    myValues[18] = 500;
    index= 19;

该函数应该开始检查重复值并从索引 14 和 13 开始,并分别将它们与索引 18 和 17 进行比较。然后循环应该再迭代一次以比较索引 10 和 9 处的值,但它会在一次迭代后退出。

我在这里想念什么?

4

1 回答 1

0

这是一个错误:

for (int i = index - 5; i >= 4; i =- 4)

应该

for (int i = index - 5; i >= 4; i -= 4)
于 2013-03-27T14:19:48.213 回答