查找频率最高的元素(如果可能的话,最小的元素)及其在整数数组中的出现

问题描述 投票:0回答:1

问题:查找2事物

  • 给定未排序整数数组]中的最高出现次数
  • 发生率最高的元素
  • if不止一个元素满足(具有同一最高发生率),结果是最小元素。

    请尽可能简单地解决问题,不要使用指针或任何高级容器,例如哈希表,配对或映射(我是初学者)

例如:

{1, 2, 8, 2, 5, 0, 5}

答案是2和2(元素25都出现两次,但2最小)

这里是代码,但它只找到最高的出现权。

int A[] = {1, 2, 8, 2, 5, 0, 5};
int N = 7;
    int maxCount = 0;
    int minMode = 0;
    for (int i = 0; i <= N - 1; i++) {
           int count = 0;
           for (int j = 0; j <= N - 1; j++) {
             if (A[i] == A[j])
                 count++;
       }
      if (count >= maxCount)
        {
            maxCount = count;
            minMode = A[i];
        }

     }
        cout << maxCount << " " << minMode << endl;

问题:发现2件事在给定的未排序整数数组中出现次数最多的元素出现次数最多的元素,并且如果有多个元素满足(具有相同的最高...

c++ arrays algorithm integer find-occurrences
1个回答
0
投票

这个问题是O(n),但不使用结构,它将变成O(n²)。

© www.soinside.com 2019 - 2024. All rights reserved.