第一题
题目:你需要帮小团和小美计算,有多少块土地是只有A国想要的,
有多少块土地是只有B国想要的,有多少块土地是两个国家都想要的。
输入:
5 3 3
1 2 3
3 4 5
输出:
2 2 3
(第1、2块地是A想要的,第4、5块地是B想要的,则有2块地是A想要的,2块地是B想要的,他们都想要第3块地)
解答:
方法①(超时且只A了55%):
def fun(A,B):
li = []
for i in A:
if i in B:
li.append(i)
return li
if __name__ == '__main__':
n, q, p = map(int,input().strip().split())
A = list(map(int, input().strip().split()))
B = list(map(int, input().strip().split()))
res = fun(A,B)
a = len(A) - len(res)
b = len(B) - len(res)
print(a,b,len(res))
方法②:
if __name__ == '__main__':
n, q, p = map(int,input().strip().split())
A = list(map(int, input().strip().split()))
B = list(map(int, input().strip().split()))
res = list(set(A) & set(B))
a = len(A) - len(res)
b = len(B) - len(res)
print(a,b,len(res))
第二题
题目:给一串偶数个字符,只有大小写字母,求修改多少个字母可以让大小写数量相同。
输入:
AAAb
输出:
1
(AAbb或bAAb或AbAb)
解答:
def fun(string):
min_count = 0
max_count = 0
for i in string:
if i.islower():
min_count += 1
else:
max_count += 1
if max_count == min_count:
return 0
else:
cha = abs(max_count - min_count)
return cha // 2
if __name__ == '__main__':
string = input().strip()
print(fun(string))