Тема: Створити новий список - не виходить змінити довжину
Враховуючи список lst та число N, створіть новий список, який містить кожне число lst щонайбільше N разів без впорядкування. Наприклад, якщо N = 2, а вхід [1,2,3,1,2,1,2,3], ви берете [1,2,3,1,2], скидаєте наступний [1,2 ] оскільки це призведе до того, що 1 і 2 будуть в результаті 3 рази, а потім приймуть 3, що призводить до [1,2,3,1,2,3].
Приклади.
EnoughIsEnough.deleteNth(new int[] {20,37,20,21}, 1) // return [20,37,21]
EnoughIsEnough.deleteNth(new int[] {1,1,3,3,7,2,2,2,2}, 3) // return [1, 1, 3, 3, 7, 2, 2, 2]
Код.
public static int[] deleteNth(int[] elements, int maxOccurrences) {
int count;
int str = 0;
for (int a=0; a<elements.length; a++) {
count = 0;
for (int j =0; j<str; j++) {
if (elements[a]==elements[j]) count++;
}
if (count<maxOccurrences) {
elements[str] = elements[a];
str++;
}
}
elements.length = str;
return elements;
}
Вибиває помилка: Не вдається присвоїти значення кінцевій змінній "length".