Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में सरणी के सभी तत्वों को बराबर बनाने के लिए न्यूनतम ऑपरेशन


समस्या कथन

n धनात्मक पूर्णांकों वाली एक सरणी दी गई है। हमें सभी तत्वों को बराबर बनाने के लिए न्यूनतम ऑपरेशन की संख्या ज्ञात करनी है। हम सरणी तत्व पर किसी भी तत्व के साथ जोड़, गुणा, घटाव या भाग कर सकते हैं।

उदाहरण

यदि इनपुट सरणी = {1, 2, 3, 4} है तो हमें सभी तत्वों को बराबर बनाने के लिए न्यूनतम 3 ऑपरेशन की आवश्यकता है। उदाहरण के लिए, हम 3 जोड़ करके तत्वों को 4 बना सकते हैं।

एल्गोरिदम

1. अधिकतम आवृत्ति वाले तत्व का चयन करें। इसे 'x' कहते हैं 2. अब हमें n-x ऑपरेशन करने होंगे क्योंकि x तत्व समान मान वाले हैं

उदाहरण

#include using namespace std; int getMinOperations(int *arr, int n) {    unordered_map hash;    for (int i = 0;i < n; ++i) {       hash[arr[i]]++;    }    int maxFrequency = 0;    for (auto elem : hash) {       if (elem.second > maxFrequency) {          maxFrequency = elem.second;       }    }    return (n - maxFrequency); } int main() {    int arr[] = {1, 2, 3, 4};    int n = sizeof(arr) / sizeof(arr[0]);    cout << "न्यूनतम आवश्यक ऑपरेशन = " <<    getMinOperations(arr, n) << endl;    return 0; }

जब आप उपरोक्त प्रोग्राम को संकलित और निष्पादित करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है

आउटपुट

न्यूनतम आवश्यक ऑपरेशन = 3

  1. - C++ में को-प्राइम ऐरे बनाने के लिए न्यूनतम इंसर्शन

    इस सेक्शन में हम एक और दिलचस्प समस्या देखेंगे। मान लीजिए हमारे पास N एलिमेंट्स का एक ऐरे है। हमें इस ऐरे को को-प्राइम ऐरे बनाने के लिए न्यूनतम इंटरसेक्शन पॉइंट्स ढूंढने हैं। को-प्राइम ऐरे में हर दो लगातार एलिमेंट्स का gcd 1 होता है। हमें ऐरे भी प्रिंट करना है।मान लीजिए हमारे पास {5, 10, 20} जैसे एलि

  1. - C++ में ऐरे के सभी एलिमेंट्स को समान बनाने के लिए न्यूनतम डिलीट ऑपरेशन्स

    समस्या कथनn एलिमेंट्स का एक ऐरे दिया गया है जैसे कि एलिमेंट्स रिपीट हो सकते हैं। हम ऐरे से किसी भी संख्या में एलिमेंट्स डिलीट कर सकते हैं। कार्य ऐरे को समान बनाने के लिए डिलीट किए जाने वाले एलिमेंट्स की न्यूनतम संख्या ढूंढना है।arr[] = {10, 8, 10, 7, 10, -1, -4, 12}सभी ऐरे एलिमेंट्स को समान बनाने के

  1. - C++ में ऐरे के सभी क्रमागत युग्म तत्वों का निरपेक्ष अंतर

    इस समस्या में हम देखेंगे कि ऐरे में प्रत्येक युग्म के तत्वों के बीच निरपेक्ष अंतर कैसे प्राप्त करें। यदि n तत्व हैं, तो परिणामी ऐरे में n-1 तत्व होंगे। मान लीजिए तत्व हैं {8, 5, 4, 3}। परिणाम होगा |8-5| = 3, फिर |5-4| = 1, |4-3| = 1। एल्गोरिदम pairDiff(arr, n) begin res := परिणाम रखने के लिए एक