हमें पूर्णांक प्रकार के तत्वों की एक सॉर्ट की गई सरणी और एक संख्या दी गई है, मान लीजिए num, और कार्य सरणी में दिए गए तत्व num के प्रकट होने की संख्या की गणना करना है।
इनपुट - int arr[] = {1, 1, 1, 2, 3, 4}, num = 1
आउटपुट - सॉर्ट की गई सरणी में घटनाओं (या आवृत्ति) की संख्या - 3
इनपुट - int arr[] = {2, 3, 4, 5, 5, 6, -7}, num = 5
आउटपुट - सॉर्ट की गई सरणी में घटनाओं (या आवृत्ति) की संख्या - 2
इनपुट - int arr[] = {-1, 0, 1, 2, 3}, num = 7
आउटपुट - सॉर्ट की गई सरणी में घटनाओं (या आवृत्ति) की संख्या - 0
उपयोग किया गया दृष्टिकोण
उपरोक्त समस्या को हल करने के लिए कई दृष्टिकोण अपनाए जा सकते हैं।
सामान्य दृष्टिकोण
- सकारात्मक और नकारात्मक संख्याओं वाले पूर्णांक तत्वों की एक सरणी घोषित करें और एक पूर्णांक चर
numजिसकी आवृत्ति हमें सरणी में ज्ञात करनी है। - सरणी का आकार गणना करें और आगे की प्रक्रिया के लिए सभी डेटा को फ़ंक्शन में पास करें।
- चर
numके प्रकट होने की संख्या संग्रहीत करने के लिए एक अस्थायी चरcountघोषित करें - i से 0 से सरणी के आकार तक लूप FOR शुरू करें
- लूप के अंदर, जांचें IF num = arr[i] तो count के मान को 1 से बढ़ाएं
- count लौटाएं
- परिणाम प्रिंट करें।
कुशल दृष्टिकोण
- सकारात्मक और नकारात्मक संख्याओं वाले पूर्णांक तत्वों की एक सरणी घोषित करें और एक पूर्णांक चर
numजिसकी आवृत्ति हमें सरणी में ज्ञात करनी है। - सरणी का आकार गणना करें और आगे की प्रक्रिया के लिए सभी डेटा को फ़ंक्शन में पास करें।
- चर
numके प्रकट होने की संख्या संग्रहीत करने के लिए एक अस्थायी चरcountघोषित करें - पॉइंटर
firstकोlower_bound(arr, arr+size, num)के रूप में सेट करें - जांचें IF
first = (arr + size) || (*first != num)तो 0 लौटाएं - अंत पॉइंटर को
upper_bound(first, arr+size, num)के रूप में सेट करें countकोlast - firstके रूप में सेट करें- count लौटाएं
- परिणाम प्रिंट करें
उदाहरण (सामान्य दृष्टिकोण)
#include <iostream>
using namespace std;
int frequency_count(int arr[], int num, int size) {
int count = 0;
for (int i = 0; i < size; i++) {
if (num == arr[i]) {
count++;
}
}
return count;
}
int main() {
int arr[] = {1, 1, 1, 2, 3, 4};
int num = 1;
int size = sizeof(arr) / sizeof(arr[0]);
cout << "Count of number of occurrences (or frequency) in a sorted array are: " << frequency_count(arr, num, size);
return 0;
}
आउटपुट
Count of number of occurrences (or frequency) in a sorted array are: 3
उदाहरण (कुशल दृष्टिकोण)
#include <bits/stdc++.h>
using namespace std;
int frequency_count(int arr[], int num, int size) {
int *first = lower_bound(arr, arr + size, num);
if (first == (arr + size) || *first != num) {
cout << "The Element is not present in an array ";
return 0;
}
int count = 0;
int *last = upper_bound(first, arr + size, num);
count = last - first;
return count;
}
int main() {
int arr[] = {1, 1, 1, 2, 3, 4};
int num = 1;
int size = sizeof(arr) / sizeof(arr[0]);
cout << "Count of number of occurrences (or frequency) in a sorted array are: " << frequency_count(arr, num, size);
return 0;
}
आउटपुट
Count of number of occurrences (or frequency) in a sorted array are: 3