刚学python,这段代码实在看不懂,有没有大佬解读一下

17 阅读1分钟

import os

import sys

请在此输入您的代码

n = int(input())

a = list(map(int,input().split()))

da = {}

flag1 = 0

flag2 = 0

for i in a:

da[i] = da.get(i,0)+1 

for i,j in da.items():

if j == 1: 
    flag1 +=1 
if j > 2: 
    flag2 += j-2 
    

if flag2 > flag1:

print(flag2) 

else:

print(flag2 + (flag1 - flag2)//2)