gpt4 book ai didi

list - 前言中的有效括号列表

转载 作者:行者123 更新时间:2023-12-03 16:29:59 25 4
gpt4 key购买 nike

我正在尝试测试方括号列表是否有效。我的代码:

checkbrackets([]).
checkbrackets(['('|T]):-
T = [')'|List],
checkbrackets(List).
checkbrackets(['('|T]):-
T = ['('|List],
append(Rest,[')'],T),
checkbrackets(Rest).
我的代码适用于 ['(', '(', ')', '(', '(', ')', ')', ')']但是 ['(', '(', ')', ')', '(', ')']失败。
我究竟做错了什么?是否可以在没有其他参数(例如计数器)的情况下编写这样的测试?

最佳答案

checkbrackets([]).
checkbrackets(L):-
append(Sub1,['(',')'|Sub2],L),
!,
append(Sub1,Sub2,New),
checkbrackets(New).
它确实只需要一个属性,并以平方时间为单位进行检查。速度不及Willems或Isabelles代码,但可以运行。
这个想法是,在每个有效的括号星座中,至少有一个开口括号和一个闭合括号的图案彼此相邻。找到它们,删除它们,然后重复。

关于list - 前言中的有效括号列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65151064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com