Loading...
marina.kolova avatar marina.kolova 34 Точки

Ето ви още едно решение с малко обяснения. Опитах се да го опростя максимално - кодът, не обяснението към него. :D

https://pastebin.com/h25t6053

Имам булева, която първоначално е false - ей така, за всеки случай.

Броим отварящите скоби и броим затварящите. Като при всяко преброяване на затваряща, проверявам дали някъде преди нея е имало отваряща. Т.е. ако затварящите станат 1, трябва и отварящите преди това да са 1, за да е балансирано и тогава сетваме булевата на true. Ако отварящите преди това са били 2 или повече или изобщо е нямало и са си 0, тогава няма да се влезе в тази проверка. Ако обаче влезе в проверката значи са 1 на 1 и освен, че сетваме булевата на true, нулираме броячите, за да може следващия път да работят по същия начин. Щом в момента има баланс, реално няма значение колко точно са скобите общо досега, важно е какво става от тук натам.

Имам си и else проверка, защото ако се окаже, че при първа затваряща и съответно нулиране на броячите, булевата се е сетнала на true, а при втора затваряща условието за true вече не е изпълнено, булевата трябва пак да стане false. Тук също връщаме броячите на 0, за да не може да излезе, че е балансирано при ( ( ) ) .

Извън цикъла имам същата проверка - дали броят отварящи и затварящи скоби е равен, пак по същата логика - за да може ако веднъж е станало true, но повече не е влизало в горните проверки, а всъщност вече не е true, да се оправи. Например, ако след постигане на баланс веднъж, е имало още една отваряща скоба, без да има затваряща след нея (тогава изобщо не се стига до самите проверки вътре в цикъла).

И накрая според true или false, си принтирам резултата.

0
06/02/2019 01:20:28
simasim avatar simasim 5 Точки

Супер, благодаря, макар че и аз вече бях решила задачата.

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