Loading...
+ Нов въпрос
milenats avatar milenats 9 Точки

Increasing elements - Coding 101 Jan 2016

Здравейте,

не мога да се справя с ето тази задача:

Дадена е редица от n числа: a1, a2, …, an. Да се пресметне дължината на най-дългата нарастваща поредица от последователни елементи в редицата от числа.

Вход

Входните данни се четат от конзолата. На първия ред стои цяло число n (0n1000). На следващите n реда стоят n цели числа в интервала [-10001000]: a1, a2, …, an.

Изход

На конзолата трябва да се отпечата едно число – дължината на най-дългата нарастваща редица.

 

Стоя си на 83% в Judge и не разбирам защо, аз каквито и примери да пробвам си работи...

Ето го кода: http://pastebin.com/9SQv8arq

1
Programming Basics
BraveHamster avatar BraveHamster 37 Точки

Искаше ми се да не ти давам отговор, но честно казано ти прегледах кода поне 3 пъти и не мога да установя къде е проблемът.

Някак интуитивно ми идва, че този else if ти прецаква нещата, но не мога да обясня защо.

 

Този код работи и дава 100/100 : http://pastebin.com/WXeBRxyT

1
milenats avatar milenats 9 Точки

Благодаря, аз вече намерих в нета работещ код, но се закучих с моя, понеже всички примери с които пробвах си дават верен разултат.

Просто не разбирам как Judge открива неработещи добре примери.

1
BraveHamster avatar BraveHamster 37 Точки

Мда, дано някой разнищи мистерията.

И на мен ми стана интересно

0
KrasimirPetkov avatar KrasimirPetkov 328 Точки

С малка корекция се получава: http://pastebin.com/yPqxNEWt

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

 

Успех!

1
milenats avatar milenats 9 Точки

Благодаря ти, ще го разгледам много внимателно.

1
VanessaShopping avatar VanessaShopping 48 Точки

Много сложен ми изглежда кода.

Погледни моето решение. http://pastebin.com/3XkrtZ3H

Ако нещо не ти е ясно питай

0
milenats avatar milenats 9 Точки

Ако се не лъжа това е код на някаква друга задача.

0
Alex0101 avatar Alex0101 374 Точки

Здравей,

 

Ето твоя код със съвсем малка поправка - 100/100

http://pastebin.com/FJaqvsHt

Колегата от по-торе излезе прав. Проблемът идваше от esle if. 

Ако имаш поредицата 1 2 3 4 5 6 7 7 , като застанеш на втората седмица, реално вече си излезнал от поредицата. А новата поредица има дължина 1 , независимо, колко е дълга.

Също така , ако имаш редицата 1 1 1 1, на всяка единица , ще имаш longestnow =1.  А за да я сетнеш ти имаш условие за лонгест и лонгест ноу, което не е коректно.

Нахнаш  if на  esle  и добавих последната проверка във for , защото на всякак итерация трябва да проверяваш.

2
milenats avatar milenats 9 Точки

Разбрах, мерси!

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