5.11拼多多笔试
三题看不懂四题不明白二题无法AC

T=int(input())
for _ in range(T):
n=int(input())
s=input().split()
k,mx=1,1
for i in range(len(s)-1):
if len(s[i])<len(s[i+1]):
k+=1
elif len(s[i])==len(s[i+1]):
if s[i]<=s[i+1]:
k+=1
else:
mx=max(mx,k)
k=1
mx=max(mx,k)
else:
mx=max(mx,k)
k=1
mx=max(mx,k)
print(mx)
=====
##过了0.8
N = int(input())
s = str(input())
n = len(s)
stk = []
tmp = []
for i, x in enumerate(s):
if x == '(':
stk.append(i)
if x == ')' and stk:
out = stk.pop()
tmp.append((out, i))
'''
sort_t=sorted(tmp,key=lambda x:x[0])
nn=len(tmp)
nnn=len(tmp)
for i in range(nn-1):
if sort_t[i+1][0]-sort_t[i][1]<=1:
nn-=1
print(nn+n-2*nnn)
'''
nn = len(tmp)
tp2 = []
if nn: A, B = tmp[0][0], tmp[0][1]
for i in range(nn - 1):
a, b = tmp[i][0], tmp[i][1]
c, d = tmp[i + 1][0], tmp[i + 1][1]
if c <= a and d >= b:
A, B = c, d
else:
tp2.append((A, B))
if nn: tp2.append((tmp[-1][0], tmp[-1][1]))
ntp2 = len(tp2)
for i in range(ntp2 - 1):
if tp2[i + 1][0] - tp2[i][1] <= 1:
ntp2 -= 1
print(ntp2 + n - 2 * nn)
#拼多多求职进展汇总##笔试##牛客创作赏金赛##投票#
查看1道真题和解析