Loading...
StefkaVasileva avatar StefkaVasileva 250 Точки

Когато имаш вход например: 1 0 , програмата ти връща като резултат "no", а трябва да е 0 ,тъй като от двете страни на този индекс сумата е 0. При вход 0 0, дава индекс 1, а трябва да е 0. Мисля, че от там идва проблема. Не правиш проверка за сумата от ляво, когато се намираш на индек 0. Виж трети нулев тест, когато имаш един елемент  ===>   At a[0] -> left sum = 0, right sum = 0. 

0
30/01/2017 17:57:03
Martin.T avatar Martin.T 35 Точки

Видях го това преди да питам за помощ тук промехних при 1 0 вход да ми показва индекс 0 но judge не го хареса отново... Някакъв граничен случай е и не се сещам за друг освен за този които ти ми казваш но пак не работи дори и да проправю при 1 0 да показва 0левия елемент.

 

0
StefkaVasileva avatar StefkaVasileva 250 Точки

Хмм, интересно. Моето решение дава 100/100.  https://github.com/stefkavasileva/Programming-Fundamentals/blob/master/Homeworks%20and%20Labs/Arrays-Exercises/11.EqualSums/EqualSums.cs

Когато напиша 1 0 ми връща индекс 0. Въпоса не е  да напишеш една проверка за конкретния вход, а да измислиш логиката за каквито и да са числа не точно тези, дадох ти ги като пример

0
30/01/2017 21:27:36
varbanov88 avatar varbanov88 38 Точки

Ето моето решение, което минава със 100

 

http://pastebin.com/0JHvGHyv

1
ambiorix avatar ambiorix 640 Точки

Здравей. Идеята не е да вкараш hard-code случай, защото не знаеш какъв е тестът на judje в случая. Като цяло твоето решение не работи когато имаш само дясна сума (5 0 0 0 0 например). Трябва да смяташ първо сумата от началото до текущото число(лява) и от числото след текущото до края на масива. Нещо от този род:

for (int numLeft = 0; numLeft <= i - 1; numLeft++)
{
    leftSum += nums[numLeft];
}

for (int numRight = i + 1; numRight < nums.Length; numRight++)
{
    rightSum += nums[numRight];
}

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