2020秋招腾讯机器视觉算法岗第一题

题目要求:
小Q有N个数字,每次任选两个不同的数字,同时删除,问是否可以删完?
代码:

if __name__=="__main__":
    num=input()
    num=int(num)
    lists=[]
    for i in range(num):
        sub_num=input()
        sub_list=input()
        sub_list=sub_list.split(" ")
        lists.append(sub_list)
    
    for sub in lists:
        num_times={}
        for num in sub:
            if num in num_times.keys():
                num_times[num]+=1
            else:
                num_times[num]=1
        
        max_t=0
        max_k=None
        t_list=[]
        for k in num_times.keys():
            t_list.append(num_times[k])
        t_list.sort(reverse=True)
        while True:
            if t_list[1]==0:
                break
            else:
                t_list[0]=t_list[0]-t_list[1]
                t_list[1]=0
                t_list.sort(reverse=True)
        is_yes=True
        for v in t_list:
            if v>0:
                print("NO")
                is_yes=False
                break
        if is_yes:
            print("YES")
发布了55 篇原创文章 · 获赞 238 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/zkp_987/article/details/100260413
今日推荐