递增for循环的计数器

时间:2020-07-26 09:29:52

标签: java algorithm for-loop

我在Hakerrank challenge中进行了一次练习,其中我使用了基本的for循环对数组进行迭代,然后我考虑根据条件增加循环计数器。这是我的解决方案:

public static int sockMerchant(int n, int[] ar) {
    int pairs = 0;
    Arrays.sort(ar);
    if (n % 2 != 0) n = n - 1;
    for (int i = 0; i < n - 1; i++) {
        if (ar[i] == ar[i + 1]) {
            ++pairs;
            // incrementing the loop counter
            i++;
        }
    }
    return pairs;
}

我想知道在递增for循环计数器时是否有任何事件或问题。在编写代码时有什么想法要注意吗?

1 个答案:

答案 0 :(得分:1)

并非所有的编程语言都允许修改循环的索引。如果是这样,请使用适合该语言的惯用方法。

但是,Java允许修改循环的索引。

看看Greg Hewgill的详细答案。

https://stackoverflow.com/a/9012318/13651978