第一题
要求图片最早的位置不变,图片的相对顺序不变
n 每N个只能有一个是图片
m 数组长度
line = ['V_0','V_1','V_2','P_3','P_4','P_5','V_6','P_7','V_8','V_9']
第一题只AC 80% 求解??
ans = []
n = int(input())
m = int(input())
line = []
for i in range(m):
line.append(str(input()))
def fun(m, n, line):
if n <= 1:
return line
p = []
v = []
for i in range(m):
if line[i][0] == 'V':
v.append(line[i])
else:
p.append(line[i])
i = 0
while i <= len(line) and v:
if line[i][0] == 'V':
ans.append(v.pop(0))
elif line[i][0] == 'P':
while p and v:
ans.append(p.pop(0))
k = n - 1
while k and v:
ans.append(v.pop(0))
k -= 1
if v == [] and k == 0 and p:
ans.append(p.pop(0))
i += 1
return ans
res = fun(m,n,line)
print(str(len(res)))
for i in range(len(res)):
print(str(res[i]))
第二题
最长连续自序列
line = 'abcabcbb'
def substring(s):
l = 0
r = -1
res = 0
dict1 = {}
while r < len(s) - 1:
if dict1.get(s[r+1], 0) == 0:
r += 1
dict1[s[r]] = 1
else:
dict1[s[l]] -= 1
l += 1
res = max(res, r-l+1)
return res
print(substring(line))