Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để tìm số phần tử trong mảng xuất hiện ít nhất K lần sau lần xuất hiện đầu tiên của chúng.
Đối với điều này, chúng ta sẽ được cung cấp một mảng số nguyên và một giá trị k. Nhiệm vụ của chúng ta là đếm tất cả các phần tử xuất hiện k lần giữa các phần tử sau phần tử đang xét.
Ví dụ
#include <iostream> #include <map> using namespace std; //returning the count of elements int calc_count(int n, int arr[], int k){ int cnt, ans = 0; //avoiding duplicates map<int, bool> hash; for (int i = 0; i < n; i++) { cnt = 0; if (hash[arr[i]] == true) continue; hash[arr[i]] = true; for (int j = i + 1; j < n; j++) { if (arr[j] == arr[i]) cnt++; //if k elements are present if (cnt >= k) break; } if (cnt >= k) ans++; } return ans; } int main(){ int arr[] = { 1, 2, 1, 3 }; int n = sizeof(arr) / sizeof(arr[0]); int k = 1; cout << calc_count(n, arr, k); return 0; }
Đầu ra
1