Loading...
petincka avatar petincka 8 Точки

Moving target

Здравейте,

 

получавам 90 точки на задача Moving target от изминали изпитни: https://judge.softuni.org/Contests/Practice/Index/2305#2.

С примерите ми работи и получавам точните отговори. Идеи къде бъркам?

Тагове:
0
Java Fundamentals 01/02/2023 11:24:20
MartinBG avatar MartinBG 4803 Точки

Има идентични проблеми с "Shoot" и "Strike" командите - премахват се елементи по техните стойности, а не според индексите им, което няма да работи, ако има елементи с еднакви стойности в листа.

Ред №27:

// list.remove(list.get(index)); // грешно - премахва първия елемент от list,чиято стойност е равна на тази, сочена от index

list.remove(index); // правилно - премахва се директно елемента на позиция index

По подобен начин е разписана и логиката в "Strike"

// list.removeAll(list.subList(index - radius, index + radius + 1)); // грешно - премахва всички елементи от list, чиито стойности се срещат между двата индекса


list.subList(index - radius, index + radius + 1).clear(); // правилно - премахва елементите от листа, които са между двата индекса

 

1
petincka avatar petincka 8 Точки

Не мога добре да разбера логиката на removeAll - премахва по зададена стойност ли?

Ако не ви представлява проблем може ли да ми дадете пример?

С примерите от задачата си работи, както трябва да бъде.

0
MartinBG avatar MartinBG 4803 Точки

List#removeAll(Collection<?> c) - Removes from this list all of its elements that are contained in the specified collection (optional operation).

 

Ако имаме лист { 3, 4, 5, 3, 4, 6 } и подадем команда "Strike 3 1" от листа ще остане само { 6 }, защото първите 2 елемента съвпадат по стойности с елементи, които се премахват.

1
01/02/2023 19:12:02
petincka avatar petincka 8 Точки

Разбрах, благодаря за разяснението

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.