c - 打印数组中重复数的最大计数
问题描述
WAP 查找列表中重复元素的数量。返回数字及其频率。如果没有一个数字重复,则返回 -1。
输入格式
- 包含整数的单行输入
输出格式
- 包含两个整数的单行输出
样本输入
6 1 2 3 4 5 1 7 1 8 1 9
样本输出
1 4
说明(1来4次)
这是我的代码
#include <stdio.h>
int main() {
int count;
int arr[] = {6, 1, 2, 3, 4, 5, 1, 7, 1, 8, 1, 9};
int max = -1, pos;
int size = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < size; i++) {
count = 0;
for (int j = i + 1; j < size; j++) {
if (arr[i] == arr[j]) count++;
}
if (count > max) {
max = count;
pos = i;
}
}
if (max == 0) return -1;
printf("%d %d", arr[pos], max + 1);
return 0;
}
为什么我的代码没有通过所有测试用例。
解决方案
推荐阅读
- c++ - 长度转换程序无法在 C++ 中转换十进制数
- php - XAMPP WordPress PHP VSCode Xdebug 没有本地人
- docker - 从 Dockerfile 访问 `docker run` 参数
- javascript - 在greasemonkey脚本中打印“事件”对象会静默终止执行,如何查看“事件”?
- android - 意图和配置正确清单
- sql - 如果不为空,则更新列
- laravel - Laravel FileSystem 创建 CloudFront 签名 URL
- gdb - 尝试使用 ROP 进行利用时 gdb 和直接执行的不同行为
- react-native - window.open 弹出窗口在本机 webview 中不起作用
- mysql - PDO 无法连接到 MySql(Phpmyadmin)