* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
3.0 KiB
3.0 KiB
id, title, challengeType, videoUrl, dashedName
id | title | challengeType | videoUrl | dashedName |
---|---|---|---|---|
594dc6c729e5700999302b45 | 平衡括号 | 5 | balanced-brackets |
--description--
确定生成的括号字符串是否平衡;也就是说,它是否完全由成对的开/关括号(按此顺序)组成,其中没有一个错误嵌套。
例子:(空)是的
[]
是的
][
假
[][]
是的
][][
假
[]][[]
false
[[[[]]]]
是的
--hints--
isBalanced
是一个函数。
assert(typeof isBalanced === 'function');
isBalanced("[]")
应该返回true。
assert(isBalanced(testCases[0]));
isBalanced("]][[[][][][]][")
应该返回false。
assert(!isBalanced(testCases[1]));
isBalanced("[][[[[][][[[]]]]]]")
应该返回true。
assert(isBalanced(testCases[2]));
isBalanced("][")
应该返回true。
assert(!isBalanced(testCases[3]));
isBalanced("[[[]]]][[]")
应该返回true。
assert(!isBalanced(testCases[4]));
isBalanced("][[]")
应该返回true。
assert(!isBalanced(testCases[5]));
isBalanced("][[][]][[[]]")
应该返回true。
assert(!isBalanced(testCases[6]));
isBalanced("[[][]]][")
应该返回true。
assert(!isBalanced(testCases[7]));
isBalanced("[[[]]][[]]]][][[")
应该返回true。
assert(!isBalanced(testCases[8]));
isBalanced("[]][[]]][[[[][]]")
应该返回true。
assert(!isBalanced(testCases[9]));
isBalanced("][]][[][")
应该返回true。
assert(!isBalanced(testCases[10]));
isBalanced("[[]][[][]]")
应该返回true。
assert(isBalanced(testCases[11]));
isBalanced("[[]]")
应该返回true。
assert(isBalanced(testCases[12]));
isBalanced("]][]][[]][[[")
应该返回true。
assert(!isBalanced(testCases[13]));
isBalanced("][]][][[")
应该返回true。
assert(!isBalanced(testCases[14]));
isBalanced("][][")
应该返回true。
assert(!isBalanced(testCases[15]));
isBalanced("[[]]][][][[]][")
应该返回true。
assert(!isBalanced(testCases[16]));
isBalanced("")
应该返回true。
assert(isBalanced(testCases[17]));
--seed--
--after-user-code--
const testCases = [
'[]',
']][[[][][][]][',
'[][[[[][][[[]]]]]]',
'][',
'[[[]]]][[]',
'][[]',
'][[][]][[[]]',
'[[][]]][',
'[[[]]][[]]]][][[',
'[]][[]]][[[[][]]',
'][]][[][',
'[[]][[][]]',
'[[]]',
']][]][[]][[[',
'][]][][[',
'][][',
'[]]]',
''
];
--seed-contents--
function isBalanced(str) {
return true;
}
--solutions--
function isBalanced(str) {
if (str === '') return true;
let a = str;
let b;
do {
b = a;
a = a.replace(/\[\]/g, '');
} while (a !== b);
return !a;
}