首页 > 解决方案 > 打印数组中重复数的最大计数

问题描述

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

解决方案


推荐阅读