找出一个数组中出现次数最多的那个元素
int main()
{
int n = 0;
scanf("%d", &n);
int arr[20] = { 0 };
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
int num[20] = { 0 };
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
if (arr[i] == arr[j])
{
num[i]++;
}
}
}
int max = num[0];
int psd = 0;
for (int i = 0; i < n; i++)
{
if (num[i] > max)
{
psd = i;
max = num[i];
}
}
printf("%d", arr[psd]);
return 0;
}
{
int n = 0;
scanf("%d", &n);
int arr[20] = { 0 };
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
int num[20] = { 0 };
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
if (arr[i] == arr[j])
{
num[i]++;
}
}
}
int max = num[0];
int psd = 0;
for (int i = 0; i < n; i++)
{
if (num[i] > max)
{
psd = i;
max = num[i];
}
}
printf("%d", arr[psd]);
return 0;
}
全部评论
这个解法的时间和空间复杂度是?
这代码格式看着真难受
相关推荐
2025-11-29 23:52
青岛理工大学 数据运营 chahine:我原来跟你一样,没找到就焦虑的不行,刚找到的时候特别开心呢,现在上了几个月的班了,真想抽死当初傻乐的自己。。。
点赞 评论 收藏
分享
2025-12-18 12:58
电子科技大学 算法工程师
牛客87317764...:知道现在最大的时代红利是什么?躺平,享受各种人口红利就完了。
0面是时代的问题,不是个人问题。 点赞 评论 收藏
分享