เราจะมาดูวิธีการหาความถี่ขององค์ประกอบที่เล็กที่สุดในอาร์เรย์ สมมติว่าองค์ประกอบอาร์เรย์คือ [5, 3, 6, 9, 3, 7, 5, 8, 3, 12, 3, 10] องค์ประกอบที่เล็กที่สุดคือ 3 และความถี่ขององค์ประกอบนี้คือ 4 ดังนั้นเอาต์พุตคือ 4 .
เพื่อแก้ปัญหานี้ เราจะหาองค์ประกอบที่เล็กที่สุดของรายการ จากนั้นเราจะนับการเกิดขึ้นของตัวเลขแรก และนั่นจะเป็นผลลัพธ์
ตัวอย่าง
#include<iostream>
using namespace std;
int min_element(int arr[], int n){
int min = arr[0];
for(int i = 1; i<n; i++){
if(arr[i] < min)
min = arr[i];
}
return min;
}
int smallestNumFreq(int *arr, int n) {
int minimum = min_element(arr, n);
int count = 0;
for(int i = 0; i < n; i++){
if(arr[i] == minimum)
count++;
}
return count;
}
int main() {
int arr[] = {5, 3, 6, 9, 3, 7, 5, 8, 3, 12, 3, 10};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Frequency of smallest element: " << smallestNumFreq(arr, n);
} ผลลัพธ์
Frequency of smallest element: 4