इस भाग में हम देखेंगे कि कितने तत्वों की गणना कैसे की जाती है जिनके निरपेक्ष मान भिन्न हैं? मान लीजिए कि किसी सरणी में {5, 5, 6, -5, 8, 2, -2, 1} जैसे कुछ तत्व हैं, तो 8 तत्व हैं। लेकिन 5 तत्व {5, 6, 8, 2, 1} हैं जो अलग-अलग हैं। -5 और 5 को अलग नहीं माना जाता है, वे समान हैं क्योंकि उनका निरपेक्ष मान समान है।
इस समस्या को हल करने के लिए, हम सेट डेटा-संरचना का उपयोग करेंगे। सेट में डुप्लिकेट तत्वों की अनुमति नहीं है। और जब हम सेट में आइटम डाल रहे हैं, तो हम केवल निरपेक्ष मान को आगे बढ़ाएंगे।
एल्गोरिदम
पूर्ण विशिष्ट गणना(गिरफ्तारी)
begin define set s; for each element e in arr, do insert |e| into s done return the number of elements of s end
उदाहरण
#include<iostream> #include<set> #include<cmath> using namespace std; int absoluteDistinctCount(int arr[], int n){ set<int> s; for(int i = 0; i<n; i++){ s.insert(abs(arr[i])); //insert the absolute value } return s.size(); } main() { int arr[] = {5, 5, 6, -5, 8, 2, -2, 1}; int n = (sizeof(arr))/(sizeof(arr[0])); cout << "Absolute Distinct Count: " << absoluteDistinctCount(arr, n); }
आउटपुट
Absolute Distinct Count: 5