我只有+
和-
的字符串,加上一些变量,减去它分别减去它。在处理输入字符串的任何符号时,我应检查变量是否小于0或大于N.
例如我输入了:
N = 10
string = "+++++++++---+-+-+"
输出:
True
输入:
N = 3
string = "+-+-+-++-+++--"
输出:
False
Python解决方案是:
def check(string, N):
accumulator = 0
for ch in string:
if ch == '+':
accumulator += 1
elif ch == '-':
accumulator -= 1
if accumulator < 0 or accumulator > N:
return False
return True
但是我需要使用正常的表达式来实现它,比如:
def check(string, N):
regex = r'^$' # <-- regex is here
return bool(re.match(regex, string))
有什么想法吗?