给定升序排序的数组,如果数组有 22 个或 22 个以上相同的数字,去掉他们,直到剩下 22 个为止。
例如:
数组 A[] = [1,1,1,2,2,3]
你的算法需要返回新数组的长度 5,
此时 A 为 [1,1,2,2,3]。
输入格式
第一行输入一个不超过 200 的数字 n,第二行输入 A[n]。
输出格式
输出新数组的长度。
样例输入
6
1 1 1 1 3 3
样例输出
4
做完之后看了一下 发现这样即使乱序也没问题。
X = input()
A = input().split()
#建字典记录元素个数
B = {}
#记录删除次数
d = 0
for a in range(len(A)):
if A[a-d] not in B:
B[A[a-d]] = 1
elif B[A[a-d]] < 2:
B[A[a-d]] = B[A[a-d]] + 1
else:
del A[a-d]
d = d + 1
print(len(A))
网友评论