关注
第一题:做了一个状态机,100%,代码一般,大佬轻喷,第三题用的dfs,只过了80%,就不贴了
思路是状态变化,start就是开始状态(后面可以接NOT或者命令),cmd状态是命令状态,可以接AND或者OR,NOT是NOT符号,只可以接命令。另外is_bigger就是判断命令是不是大写,大写的话也不符合要求。最后一条命令也要处理下,必须是一个命令,不能是NOT AND 或者OR就行。
import sys
def is_bigger(cmd):
if cmd >= 'A39; and cmd <="Z":
return True
else:
return False
def judge(lists):
cmd_lists = ["AND","OR"]
cmd_lists_NOT = ["AND","OR","NOT"]
state = "start"
for cmd in lists:
if state == "start":
if cmd == "NOT":
state = "NOT"
continue
if cmd not in cmd_lists and not is_bigger(cmd):
state = "CMD"
continue
print("0")
return
if state == "NOT":
if cmd not in cmd_lists_NOT and not is_bigger(cmd):
state = "CMD"
continue
print("0")
return
if state == "CMD":
if cmd in cmd_lists:
state = "start"
continue
print("0")
return
if state == "CMD":
print("1")
else:
print("0")
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你小心翼翼的闯过多大的祸? #
4335次浏览 69人参与
# 找不到实习会影响秋招吗 #
1400031次浏览 13635人参与
# 实习没事做是福还是祸? #
4645次浏览 69人参与
# 重来一次,你会对开始求职的自己说 #
991次浏览 20人参与
# 2025年终总结 #
135277次浏览 2302人参与
# 考研人,我有话说 #
156646次浏览 1211人参与
# 哪些公司笔/面试难度大? #
7091次浏览 32人参与
# 实习简历求拷打 #
24593次浏览 251人参与
# 你觉得现在还能进互联网吗? #
29981次浏览 201人参与
# 携程工作体验 #
18969次浏览 66人参与
# 大厂VS公务员你怎么选 #
69164次浏览 638人参与
# 扒一扒那些奇葩实习经历 #
140207次浏览 1149人参与
# 找不到好工作选择GAP真的丢人吗 #
93739次浏览 1007人参与
# 那些我实习了才知道的事 #
253168次浏览 1785人参与
# 非技术投递记录 #
672999次浏览 6821人参与
# 机械求职避坑tips #
81107次浏览 531人参与
# 投格力的你,拿到offer了吗? #
155054次浏览 829人参与
# 第一份工作能做外包吗? #
94105次浏览 599人参与
# 作业帮求职进展汇总 #
85572次浏览 559人参与
# 秋招遇到的奇葩面试题 #
101280次浏览 416人参与
