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

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

समस्या कथन

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

उदाहरण

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

एल्गोरिदम

1. Select element with maximum frequency. Let us call it ‘x’ 
2. Now we have to perform n-x operations as there are x element with same value

उदाहरण

#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 << "Minimum required operations = " <<
   getMinOperations(arr, n) << endl;
   return 0;
}

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

आउटपुट

Minimum required operations = 3

  1. C++ में क्रमबद्ध सरणी में छोटे या समान तत्वों की गणना

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

  1. C++ में दी गई संख्या K से विभाज्य किसी सरणी के सभी तत्वों का गुणनफल

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

  1. सी++ में एक अप्रत्यक्ष ग्राफ के सभी जुड़े घटकों में न्यूनतम तत्वों का योग

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