Это упражнение просить для нас и manipularmos один List .
Первый вход (n) обозначает количество элементов в массиве. После, мы включили один из этих элементов.
Третья строка получает номер (q), который проведет количество Inserts или Deletes что нам делать в List .
После, мы внесем изменения, чтобы заменить или удалить элементы массива. x обозначает положение элемента, который будет удален, и y обозначает количество для замены и переходит на его место.
Таким образом, показано:
Шаг за шагом, это следующее:
- Сканировать сначала input
- Сделать новый список, всегда неизменно хорошая практика, чтобы сделать более абстрактной возможности. В этом случае стало:
List ArrayList<>(); - Сделать
for, который добавляет, со сканера, элементы в списке. - Объявить
q,x,yиzза пределами, гдеqтакже должны быть в отсканированном. - Сделать второй
forчто получаетStringкоторые могут бытьInsertилиDelete - Для string Insert, мы получаем два ints:
xиy. Мы используем метод .добавить (), что уже делает замену. - В противном случае (например, Delete), мы получаем только
z. Мы используем метод .удалить (), который удаляет элемент из номер позиции по ним.
Окончательный код выглядит следующим образом, в на-майне:
Scanner scanner = new Scanner(System.in));
int n = scanner.nextInt();
List lista = new ArrayList<>();
for (int i = 0; i < n; i++){
lista.add(scanner.nextInt());
}
int q = scanner.nextInt();
int x = 0;
int y = 0;
int z = 0;
for (int j = 0; j < q; j++){
String string = scanner.next();
if (string.equals("Insert")){
x = scanner.nextInt();
y = scanner.nextInt();
lista.add(x, y);
} else {
z = scanner.nextInt();
lista.remove(z);
}
}
scanner.close();
for (int h = 0; h < lista.size(); h++){
System.out.print(lista.get(h) + " ");
}
=========
Характеристика
Список : Oracle Java Collections: Set, список e итератор : DevMedia
============
Эта публикация является частью серии упражнений разрешены в Java на HackerRank. Перейдите полная серия:
- Хакерский рейтинг #6 | Сканер e Конец файла
- HackerRank #7 | Int в строку/Строка в Int
- Хакерский рейтинг #8 | Дата и время
- HackerRank #9 | Блок статического инициализатора
- HackerRank #10 | Форматировщик валют
- Хакерский рейтинг #11 | Типы данных
- HackerRank #12 | Введение в строки
- HackerRank #13 | Сравнение подстрок
- HackerRank #14 | Абстрактный класс
- Хакерский рейтинг #18 | Большой интегратор
- Хакерранк #19 | Петли II
- HackerRank #20 | Реверс строки
- HackerRank #23 | Ключевое слово Instanceof
- Хакерский рейтинг #26 | Дженерики
- HackerRank #27 | 1D Массив
- Хакерский рейтинг #28 | Анаграммы
- Хакерский рейтинг #33 | Arraylist
- HackerRank #34 | Попытка обработки исключений/Перехват
- HackerRank #36 | Обработка исключений
- Хакерский рейтинг #37 | Список
- Хакерский рейтинг #38 | Подмассив
- HackerRank #40 | Удаление Java из очереди
- Хакерский рейтинг #39 | Хэш-набор
Оригинал: “https://dev.to/beatrizmaciel/hackerrank-37-list-4gmj”