#java #arrays
#java #массивы
Вопрос:
Мне нужно превратить этот фрагмент кода в обычный цикл for для того, над чем я работаю, и я застрял.
for(int number : input) {
queue.add(number);
}
Я пробовал —
for(int i = 0;<input.length;i ){
queue.add(input);
}
Я не очень хорошо знаком с улучшением циклов for, поэтому я не уверен, куда идти дальше.
Пока это весь мой код —
class Solution {
public int[] sortArray(int[] input) {
PriorityQueue<Integer> queue = new PriorityQueue<>();
for(int number : input) {
queue.add(number);
}
for (int i = 0; i < input.length; i ) {
input[i] = queue.poll();
}
return input;
}
}
Комментарии:
1. Заменить
queue.add(input)
наqueue.add(input[i])
. Оператор,queue.add(input)
добавит весь массив,input
вqueue
.
Ответ №1:
Вы близки, но пытаетесь добавить весь массив в очередь. Вместо этого вы должны добавить один элемент в i
index input
.
Это сработало бы:
for(int i = 0; i < input.length; i ) {
queue.add(input[i]);
}