我在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循环计数器时是否有任何事件或问题。在编写代码时有什么想法要注意吗?