Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Jordan_Jordanov avatar Jordan_Jordanov 16 Точки

JA3-Task-1-Sequence

Предполагам, че имам проблем с разбирането на задачата, или по-скоро не напълно изследвам всички възможни случаи, понеже разбирам логиката зад нея и тестовете за които се сещам и въвеждам в програмата вървят, а като я пусна в Judge ми дава максимум 70/100. Задачата е доста лесна на пръв вид, просто отброяваш последователни елементи в отброяващ ред и накрая извеждаш дължината на най-дългата такава поредица. Има ли някакви крайни случаи, които трябва да взема предвид, или нещо бъркам в логиката?

Тагове:
0
C++ Fundamentals
MartinBG avatar MartinBG 4803 Точки

Описанието на задачата не е достатъчно подробно и подвежда към наивно решение. Използвай този алгоритъм: Longest Increasing Subsequence

0
Borislav919 avatar Borislav919 1 Точки

Мисля, че това решение ще ти е по-лесно и ясно. https://www.geeksforgeeks.org/longest-increasing-subarray

0
11/11/2019 21:44:12
dmartinov avatar dmartinov 37 Точки

Не си казал, как точно си разбрал задачата, за да видим кое от логиката евентуално си пропуснал, но ще ти кажа, това, което мен в един момент ме спъна и ми даде 70 точки. Никой не е казал колко поредици от увеличаващите се стойности ще имаш. Ако разгледаме примерният вход, който е даден в условието на задачата, ще видим, че имаме 2 редици с увеличаващи се стойности - Първата е от 7 до 27 и втората е от 3 до 19, но първата е по-дълга и затова принтираме нейният резултат.

25 7 9 11 13 15 17 21 23 27 3 5 19

Това, което бях объркал аз в началото, а предполагам може би и ти, е че започвах да броя поредицата от увеличаващи се стойности и при първото по-малко число от последното в редицата, спирах. И тук нещата се чупеха, защото ако до този момент най-дългата редица е била от 5 последователни символа аз не проверявах дали някъде по-напред по редицата няма да има 6 или повече увеличаващи се стойности. И дугото, което се чупи в тази логика - ако погледнем пак примерния вход, първата цифра е 25, веднага след нея следва 7 - 25 > 7 и броенето приключва още при първата итерация.

Та, накратко казано - трябва да обходиш целия вход и от всички поредици с увеличаващи се стойности да принтираш броя на най-дългата.

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