9.20 度小满金融测试开发笔试Python题解
1. 涂颜色,输入有的颜色和要涂的颜色,输出最多能涂几个
思路:两个字典计数
s = input()
t = input()
scount = {}
tcount = {}
cnt = 0
for i in s:
scount[i] = scount.get(i,0) + 1
for i in t:
tcount[i] = tcount.get(i,0) + 1
for i in tcount:
if i in scount:
cnt += min(scount[i],tcount[i])
print(cnt) 2. 字符串,每间隔3个的子串只能有同一个位置不同,例如ABE、ABC、ABD相似,ABE、ABC、ACE不相似,判断整个字符串是否满足条件 思路:先将字符串每三个分隔,找出不同的位置(012中的一个),则剩余位置必须相同,思路有点笨笨,如果有大佬方法更好还请分享
#笔试题目##度小满##判断是否相似的函数
def isValid(a,b,pos):
for i in pos:
if a[i] != b[i]:
return False
return True
n = int(input())
for _ in range(n):
s = input()
slist = []
#分割字符串
for i in range(0,len(s),3):
slist.append(s[i:i+3])
#找出不同的位置,剩余位置必须相同
pos = [0,1,2]
flag = False
for i in range(1,len(slist)):
if slist[i] != slist[0]:
for j in range(3):
if slist[i][j] != slist[0][j]:
pos.remove(j)
flag = True
break
if flag:
break
#子串必须全部相似
flag2 = True
for i in range(1,len(slist)):
if not isValid(slist[0],slist[i],pos):
flag2 = False
break
if flag2:
print("Yes")
else:
print("No") 