Mistake in test case Question #230
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 45/100
- Issue 类型
- 文档
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- typescript
- 领域
- content
调研方向
打开链接的 DevFAQ 页面中的问题 230,并将其中所述的有效测试用例与 issue 的括号分析和 TypeScript 复现进行比较。更新该问题,使包含不匹配右括号的示例得到正确表示,然后确认所显示的测试用例和预期结果保持一致。
由索引模型根据 Issue 内容生成。
描述
There is a mistake in this question.

It is written that "{dklf(df(kl))d]{}" is a valid test case while it is not due to the not opened "[".
Please update the question.
The code I used to test the cases:
const sum = (arr: number[]): number => arr.reduce((acc, el) => acc+el, 0);
type OpeningBracket = "(" | "[" | "{";
type BracketStackMap = Record<OpeningBracket, number>;
const checkBrackets = (str: string) => {
const brackets = ["(",")", "[","]", "{","}"]; // "()[]{}".split("");
const filtered = str.split("").filter(character => brackets.includes(character));
const bracketsStack = new Map<BracketStackMap>([["(", 0], ["[", 0], ["{", 0]]);
for(let i=0; i<filtered.length; i++){
// could be simplified with closed/opening bracket key/value mapping
const key = filtered[i] === ")" ? "("
: filtered[i] === "]" ? "["
: filtered[i] === "}" ? "{"
: filtered[i];
const currentVal = bracketsStack.get(key);
// console.log({i, str: filtered[i], key})
switch(filtered[i]){
case "(":
case "[":
case "{":
bracketsStack.set(filtered[i], currentVal + 1);
break;
case ")":
case "]":
case "}":
bracketsStack.set(key, currentVal - 1);
break;
default: throw new Error(`Unhandled bracket: ${filtered[i]}`);
}
if(bracketsStack.get(key) < 0){
// console.log("negative", bracketsStack.get(key))
return false;
};
}
return (sum([...bracketsStack.values()]) === 0);
};
const tests = {
"{ac[bb]}": true,
"{dklf(df(kl))d]{}": true, //fails, should pass according to task description
"{[[[]]]}": true,
"{3234[fd": false,
"{df][d}": false
};
Object.entries(tests).forEach(([test, expected]) => {
const result = (checkBrackets(test) === expected) ? "✅" : "❌";
console.log(`${result} "${test}" `);
});
// results
"✅ '{ac[bb]}' "
"❌ '{dklf(df(kl))d]{}' "
"✅ '{[[[]]]}' "
"✅ '{3234[fd' "
"✅ '{df][d}' "
- 主要语言
- TypeScript
- 星标
- 40
- 派生
- 10
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
typeofweb-org/devfaq 的其他 Issue
-
Dodanie możliwości sortowania pytań po dacie aktualizacji / edycji可能重新可做 @grzegorzpokorski 于 1358 天前认领,目前没有进行中的 PR。 未关闭
typeofweb-org/devfaq#506 · 已指派 1 人 ·
-
Użyj vercel/og-image do generowania obrazków na social media可能已有人在做 @xStrixU 于 1358 天前认领。 未关闭
typeofweb-org/devfaq#504 · 已指派 1 人 ·
-
Edycja własnych pytań可能重新可做 @xStrixU 于 1373 天前认领,目前没有进行中的 PR。 未关闭
typeofweb-org/devfaq#481 · 已指派 1 人 ·
-
Przycisk do edycji pytania dla adminów可能重新可做 @grzegorzpokorski 于 1360 天前认领,目前没有进行中的 PR。 未关闭
typeofweb-org/devfaq#479 · 已指派 1 人 ·
-
Admin panel dla odpowiedzi可能重新可做 @grzegorzpokorski 于 1356 天前认领,目前没有进行中的 PR。 未关闭
typeofweb-org/devfaq#478 · 已指派 1 人 ·
查看 typeofweb-org/devfaq 的全部 Issue
相似的 Issue
-
🐛 Bug: Calendar work items cannot be opened on mobile可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 1/5 1 小时以内 新手友好度 75/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
jaegertracing/jaeger-ui#4596 ·
维护者通常 1 天内回复
-
area:tui enhancement platform:macos
难度 2/5 1-3 小时 新手友好度 66/100
anthropics/claude-code#101490 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 66/100
netlify/netlify-mcp#75 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复