Я прошел через упражнение в испытании Hakerrank, где я использовал базовый цикл 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;
}
Мне интересно, есть ли случаи или проблемы при увеличении счетчика цикла. Есть идеи, ребята, о чем нужно быть осторожным с написанным кодом?
1 ответ
Не все языки программирования позволяют изменять индекс цикла. В этом случае используйте любой метод, подходящий или идиоматический для этого языка.
Но Java позволяет изменять индекс цикла.
Ознакомьтесь с подробным ответом Грега Хьюгилла.
https://stackoverflow.com/a/9012318/13651978
Похожие вопросы
Связанные вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.