首页 > 试题广场 >

小欧的数组修改

[编程题]小欧的数组修改
  • 热度指数:265 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小欧拿到了一个数组,她可以修改其中任意一个元素的值(也可以不修改),使得出现次数最多的那个元素次数尽可能多。你能求出这个最多的出现次数吗?

输入描述:
第一行输入一个正整数n,代表数组的大小。
第二行输入n个正整数a_i,代表数组的各个元素。


输出描述:
一个正整数,代表小欧操作后出现最多的元素次数。
示例1

输入

3
1 2 3

输出

2

说明

将1修改为3,数组变成[3,2,3],3出现了2次。修改方式并不是唯一的。
示例2

输入

1
4

输出

1

说明

由于只有一个数,所以无论是否进行修改,它都只出现了1次。
from typing import Counter


n = int(input())

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

if sum(a) == n * a[0]:
    print(n)
    exit(0)
print(max(Counter(a).values()) + 1)
发表于 2024-11-20 19:03:06 回复(0)