Loading...
ElicaAndreeva avatar ElicaAndreeva 5 Точки

05. Balanced Parentheses - Stacks and Queues

Опитвам се да реша задачата Balanced Parentheses със един stack и един queue, но ми гърми посленият тест  (87/100) и не мога да си открия грешката. https://pastebin.com/5ExWmhMh

Условие:

Balanced Parentheses
Given a sequence consisting of parentheses, determine whether the expression is balanced. A sequence of parentheses is balanced if every open parenthesis can be paired uniquely with a closed parenthesis that occurs after the former. Also, the interval between them must be balanced.
You will be given three types of parentheses: (, {, and [.
{[()]} - This is a balanced parenthesis.
{[(])} - This is not a balanced parenthesis.
Input
Each input consists of a single line, the sequence of parentheses.
1 ≤ Length of sequence ≤ 1000.
Each character of the sequence will be one of the following: {, }, (, ), [, ].
Output
For each test case, print on a new line "YES" if the parentheses are balanced. Otherwise, print "NO".

0
Java Advanced
MartinBG avatar MartinBG 4803 Точки

Решението не следи за последователността на скобите една спрямо друга, а само дали двойките отваряща-затваряща скоба за целия израз са валидни и ще върне грешен резултат (YES) за невалиден израз като този:

)(

Задачата може да се реши с използването на един стек в който се слагат отварящите скоби, а при затваряща се изважда последната и се валидират.

 

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