Выбор ответа Junior Стек и монотонный стек обновлено
Краевой случай в скобках
Вопрос
На каком входе функция вернёт неверный ответ?
function valid(s) {
const pair = { ')': '(', ']': '[', '}': '{' };
const stack = [];
for (const ch of s) {
if (ch in pair) {
if (stack.pop() !== pair[ch]) return false;
} else stack.push(ch);
}
return true;
}
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: "((". Функция не проверяет, что стек пуст в конце: для "((" она вернёт true, хотя скобки не закрыты.
Варианты ответа
"()""([])""(]""(("правильный ответ
Разбор
Функция не проверяет, что стек пуст в конце: для "((" она вернёт true, хотя скобки не закрыты. Правильно: return stack.length === 0.
"()"и"([])"корректно даютtrue."(]"корректно даётfalse: вершина(не пара для].
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.