Loading...
Sim0o0na avatar Sim0o0na Trainer 567 Точки

10. Pairs - не мога да открия грешката

Здравейте! Имам проблем с 10 задача от упражненията за масиви
http://pastebin.com/8HA9BqER сглобила съм този код, но на теста от документа с редицата 1 5 3 4 2 и разлика 2  ми се губи една двойка, т.е показва ми 2 като резултат, а трябва да е 3. Не мога да си открия грешката, вероятно е очевидна, но да.. 

Тагове:
0
Programming Basics 28/05/2016 12:25:49
Raskolnikov avatar Raskolnikov 102 Точки

Здравей :)

Най-ефективно според мен би било, ако първо сортираш масива (с Array.Sort(input) примерно). След това вложения цикъл го въртиш до i и проверяваш дали input[i] - input[j] == diff. Махаш else клаузата и не брейкваш, ако e false, а само увеличаваш броя на pair, ако e true и така трябва да ти даде 100 точки. Просто трябва да направиш малки корекции.

Иначе твоят код с още по-малки корекции пак ще работи, просто по-бавно. Така както си го написала просто махаш else-а и първият цикъл трябва да върти от 0 до input.Length - 1, а вторият  да започва от i + 1 и да върти до input.Length.

Поздрави :)

3
28/05/2016 13:02:30
Sim0o0na avatar Sim0o0na Trainer 567 Точки

Благодаря ти :)

1
borislav9212 avatar borislav9212 745 Точки

Здравей,

" j " трябва да започва от " i + 1". Махаш " else ", няма нужда да се  break-ва. и задачата е готова  http://pastebin.com/bVKfR4nT

0
Sim0o0na avatar Sim0o0na Trainer 567 Точки

Благодаря ти :)

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