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

C++ में निरपेक्ष अंतर 1 से कम या बराबर होने वाले अधिकतम तत्वों की संख्या ज्ञात करें


मान लीजिए हमारे पास n तत्वों का एक सरणी है। हमें सरणी से चुनने के लिए तत्वों की अधिकतम संख्या ढूंढनी है, जैसे कि चुने गए किन्हीं दो तत्वों के बीच का निरपेक्ष अंतर 1 से कम या बराबर हो। इसलिए यदि सरणी [2, 2, 3, 4, 5] की तरह है, तो तत्व 3 होगा, इसलिए अधिकतम संख्या वाला अनुक्रम 2, 2, 3 है।

0 और 1 का निरपेक्ष अंतर का अर्थ है कि संख्या x और x + 1 प्रकार की हो सकती है। इसलिए विचार सरणी तत्वों की आवृत्तियों को स्टोर करने का है। इसलिए यदि हम किन्हीं दो लगातार तत्वों का अधिकतम योग ढूंढते हैं, तो यह समाधान होगा।

उदाहरण

#include <iostream> #include <map> using namespace std; int maxElem(int arr[], int n) { map<int,int> occurrence; for(int i=0;i<n;++i){ if(occurrence[arr[i]]) occurrence[arr[i]] += 1; else occurrence[arr[i]] = 1; } int ans = 0, key; map<int,int>:: iterator it=occurrence.begin(); while(it!=occurrence.end()) { key = it->first; ++it; if(occurrence[key+1]!=0) ans=max(ans,occurrence[key]+occurrence[key+1]); } return ans; } int main(){ int arr[] = {2, 2, 3, 4, 5}; int n = sizeof(arr)/sizeof(arr[0]); cout<<"Result is: " << maxElem(arr, n); }

आउटपुट

Result is: 3

  1. - C++ का उपयोग करके सरणी में ऐसा तत्व खोजें जिससे सभी तत्व विभाज्य हों

    मान लीजिए हमारे पास कुछ तत्वों के साथ एक सरणी A है। हमें A से एक ऐसा तत्व ढूंढना है जिससे सभी तत्व इससे विभाज्य हों। मान लीजिए A = [15, 21, 69, 33, 3, 72, 81] है, तो तत्व 3 होगा, क्योंकि सभी संख्याएं 3 से विभाज्य हैं। इस समस्या को हल करने के लिए, हम A में सबसे छोटी संख्या लेंगे, फिर जांचेंगे कि क्य

  1. - C++ का उपयोग करके एक संख्या x खोजें जिसके अंकों का योग x के बराबर दिए गए n के बराबर हो

    यहां हम एक समस्या देखेंगे, जहां हम एक संख्या n लेते हैं, हमें एक अन्य मान x ढूंढना है, जैसे कि x + x के अंकों का योग दी गई संख्या n के बराबर हो। मान लीजिए n का मान 21 है। यह प्रोग्राम x = 15 लौटाएगा, क्योंकि 15 + 15 के अंकों का योग (1+5) = 21 = n होता है। इसे हल करने के लिए, हमें सरल दृष्टिकोण अपना

  1. - C++ में दी गई संख्या n के लिए x ढूंढें जहां x + अंकों का योग = n

    समस्या विवरण एक संख्या n दी गई है, हमें एक मान x ढूंढना है जिससे x + x के अंकों का योग = n हो। उदाहरण के लिए, n = 21 के लिए, x = 15 होगा क्योंकि 15 + (1+5) = 21। हल दृष्टिकोण सरल दृष्टिकोण: 1 से n तक पुनरावृति करें, प्रत्येक संख्या के लिए जांचें कि क्या संख्या + उसके अंकों का योग = n है। यदि हां,