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

सी ++ में सुंदर ऐरे

मान लीजिए कि N के कुछ निश्चित मान के लिए, एक सरणी A सुंदर है, जब यह पूर्णांक 1, 2, ..., N का क्रमचय हो, जैसे कि -

  • प्रत्येक i

मान लीजिए हमारे पास N है, हमें कोई सुंदर सरणी A ढूंढनी है।

तो अगर इनपुट 5 जैसा है, तो आउटपुट [3,1,2,5,4]

. होगा

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

  • रिट नामक एक सरणी बनाएं, रिट में 1 डालें

  • जबकि रिट का आकार <एन

    • एक सरणी अस्थायी बनाएं

    • मैं के लिए 0 से रिट के आकार की सीमा में - 1

      • अगर ret[i] * 2 - 1 <=N, तो ret[i] * 2 - 1 को अस्थायी सरणी में डालें

    • मैं के लिए 0 से रिट के आकार की सीमा में - 1

    • अगर ret[i] * 2 <=N, फिर ret[i] * 2 को अस्थायी सरणी में डालें

    • रिट सेट करें:=अस्थायी

  • वापसी रिट

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

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void print_vector(vector<auto> v){
   cout << "[";
   for(int i = 0; i<v.size(); i++){
      cout << v[i] << ", ";
   }
   cout << "]"<<endl;
}
class Solution {
   public:
   vector<int> beautifulArray(int N) {
      vector <int> ret;
      ret.push_back(1);
      while(ret.size() < N){
         vector <int> temp;
         for(int i = 0; i < ret.size(); i++){
            if(ret[i] * 2 - 1 <= N) temp.push_back(ret[i] * 2 - 1);
         }
         for(int i = 0; i < ret.size(); i++){
            if(ret[i] * 2 <= N)temp.push_back(ret[i] * 2 );
         }
         ret = temp;
      }
      return ret;
   }
};
main(){
   Solution ob;
   print_vector(ob.beautifulArray(6));
}

इनपुट

5

आउटपुट

[1,5,3,2,4]

  1. सी++ में जंप गेम वी

    मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी है जिसे arr और एक पूर्णांक d कहा जाता है। एक चरण में हम इंडेक्स i से − . पर जा सकते हैं i + x जहां:i + x

  1. सी ++ स्ट्रिंग्स की सरणी

    इस खंड में हम देखेंगे कि C++ में स्ट्रिंग्स की एक सरणी को कैसे परिभाषित किया जाए। जैसा कि हम जानते हैं कि सी में कोई तार नहीं था। हमें कैरेक्टर ऐरे का उपयोग करके स्ट्रिंग्स बनाना है। इसलिए स्ट्रिंग्स की कुछ सरणी बनाने के लिए, हमें वर्णों की एक 2-आयामी सरणी बनानी होगी। प्रत्येक पंक्तियाँ उस मैट्रिक्स

  1. सी++ में छँटाई

    इस खंड में हम देखेंगे कि C++ में सॉर्टिंग एल्गोरिथम कैसे किया जाता है। एक क्रमबद्ध सरणी एक सरणी है जिसमें प्रत्येक तत्व को किसी क्रम में क्रमबद्ध किया जाता है जैसे संख्यात्मक, वर्णानुक्रम आदि। संख्यात्मक सरणी को सॉर्ट करने के लिए कई एल्गोरिदम हैं जैसे कि बबलसॉर्ट, इंसर्शन सॉर्ट, सेलेक्शन सॉर्ट, मर्ज