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

C++ में Elements को राइट साइड पर ग्रेटेस्ट एलिमेंट से बदलें

मान लीजिए कि हमारे पास एक सरणी A है। हमें प्रत्येक तत्व को इस तत्व के दाईं ओर सबसे बड़े तत्व से बदलना होगा। और अंतिम को -1 से बदलें। तो अगर ए =[5, 17, 40, 6, 3, 8, 2], तो यह [40,40,8,8,8,2,-1] होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • हम सरणी तत्व को दाएं से बाएं पढ़ेंगे।
  • ई लें:=-1
  • i के लिए:=n - 1 से 0
    • अस्थायी:=ई
    • e :=e और सरणी के बीच अधिकतम[i]
    • सरणी[i] :=अस्थायी
  • रिटर्न ऐरे

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
void print_vector(vector<int> v){
   cout << "[";
      for(int i = 0; i<v.size(); i++){
         cout << v[i] << ", ";
      }
      cout << "]"<<endl;
}
class Solution {
   public:
      vector<int> replaceElements(vector<int>& arr) {
         int rep = -1;
         int n = arr.size();
         for(int i = n - 1; i >= 0; i--){
            int temp = rep;
            rep = max(rep, arr[i]);
            arr[i] = temp;
         }
         return arr;
      }
};
main(){
   Solution ob;
   vector<int> c = {5,17,40,6,3,8,2};
   print_vector(ob.replaceElements(c)) ;
}

इनपुट

[5,17,40,6,3,8,2]

आउटपुट

[40,40,8,8,8,2,-1]

  1. C++ में लिंक की गई सूची में सबसे बड़े मान दाईं ओर के नोड के लिए पॉइंट आर्बिट पॉइंटर

    इस समस्या में, हमें एक मूल्य, लिंक सूचक और एक मनमाना सूचक के साथ एक लिंक्ड सूची दी जाती है। हमारा काम सबसे बड़ा मान इंगित करने के लिए मनमाना सूचक बिंदु बनाना है जो लिंक की गई सूची में इसके दाईं ओर है। समस्या को समझने के लिए एक उदाहरण लेते हैं, यहां, हम लिंक की गई सूची के निम्नलिखित मनमाने संकेत

  1. C++ STL में सेट का उपयोग करके दाईं ओर छोटे तत्वों की गणना करें

    इस ट्यूटोरियल में, हम C++ STL में सेट का उपयोग करके दाईं ओर छोटे तत्वों को गिनने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक सरणी प्रदान की जाएगी। हमारा काम एक नई सरणी बनाना और वर्तमान तत्व के दाईं ओर छोटे तत्वों की संख्या को उसकी स्थिति में जोड़ना है। उदाहरण #include <bits/stdc++.h>

  1. C++ में बाइनरी ट्री राइट साइड व्यू

    मान लीजिए हमारे पास एक बाइनरी ट्री है, अगर हम पेड़ को दाईं ओर से देखते हैं, तो हम उसके कुछ तत्व देख सकते हैं। हमें उन तत्वों को प्रदर्शित करना होगा। तो अगर पेड़ जैसा है - इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - हम dfs के लिए एक हेल्पिंग मेथड बनाएंगे। यह ट्री_नोड, उत्तर रखने के लिए एक सर