You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

括号嵌套深度计算函数问题:如何将0判定为True?

解决方法

不用重写整个函数,只需要调整返回值里valid和balanced的判定逻辑就行:

  • balanced直接取最终括号平衡计数是否为0的布尔值,也就是balance == 0,这个结果本身就是True或False。
  • valid需要同时满足两个条件:
    • 遍历过程中括号深度从没出现过负值(不会有多余的闭合括号提前出现);
    • 最终括号平衡计数为0(没有多余的开括号或闭括号)。
      所以把原函数里valid的最终值改成「记录遍历中是否合法的标志 and balance == 0」即可。

举个具体的修改示例(假设你已经在遍历过程中用valid变量标记了是否出现过负值):

# 原函数末尾如果是这样:
# return (max_depth, valid, balance == 0)
# 改成下面这样:
final_balanced = balance == 0
final_valid = valid and final_balanced
return (max_depth, final_valid, final_balanced)

这样当括号全程合法且最终平衡时,就能得到你想要的(5, True, True)结果,完全不用重写核心遍历代码。

内容的提问来源于stack exchange,提问作者Finn-arild

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 02:25:52