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

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


समस्या कथन

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

उदाहरण

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

एल्गोरिदम

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

उदाहरण

#include <bits/stdc++.h> using namespace std; int getMinOperations(int *arr, int n) {    unordered_map<int, int> 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++ में

    हमें पूर्णांकों की एक सरणी दी गई है। लक्ष्य सरणी के उन तत्वों की संख्या ढूंढना है जो दिए गए मान K से कम या बराबर हैं। इनपुट Arr[]= { 1, 2, 3, 14, 50, 69, 90 } K=12 आउटपुट K से छोटे या बराबर संख्याएं: 3 व्याख्या संख्याएं 1,2,3, 12 से छोटी या बराबर हैं। इनपुट Arr[]= { 12, 13, 13, 13, 14, 50, 54, 100 }

  1. - C++ में दिए गए नंबर K से विभाज्य ऐरे के सभी एलिमेंट्स का गुणनफल

    n संख्या के इंटीजर्स के साथ एक ऐरे arr[n] और एक अन्य इंटीजर k दिया गया है, कार्य arr[] के उन सभी एलिमेंट्स का गुणनफल निकालना है जो k से विभाज्य हैं। समस्या को हल करने के लिए हमें ऐरे के प्रत्येक एलिमेंट को पुनरावृत्त करना होगा और जांचना होगा कि क्या यह संख्या k से पूरी तरह से विभाज्य है और फिर सभी

  1. C++ में अविभाजित ग्राफ के सभी संयोजी घटकों में न्यूनतम तत्वों का योग C++ में अविभाजित ग्राफ के सभी संयोजी घटकों में न्यूनतम तत्वों का योग

    इस समस्या में, हमें N संख्याओं की एक सरणी arr दी गई है जहां arr[i] (i+1)वें नोड को दर्शाता है। साथ ही, M जोड़े किनारे हैं जहां u और v किनारे से जुड़े नोड्स को दर्शाते हैं। हमारा कार्य एक प्रोग्राम बनाना है जो अविभाजित ग्राफ के सभी संयोजी घटकों में न्यूनतम तत्वों का योग निकाले। यदि एक नोड की किसी अन