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

C++ में पैचिंग ऐरे


मान लीजिए कि हमारे पास एक सरणी संख्या और एक संख्या है। हम सरणी में तत्व जोड़ सकते हैं, जैसे कि श्रेणी में कोई भी संख्या [1, n] (दोनों समावेशी हैं) सरणी में कुछ तत्वों के योग से बनाई जा सकती है। हमें आवश्यक पैच की न्यूनतम संख्या ज्ञात करनी होगी। तो जब सरणी [1,4] की तरह है और दी गई संख्या n =7 है, तो आउटपुट 1 होगा, क्योंकि शुरू में अंक [1], [4] और [1,4] =5 हैं, अब अगर हम जोड़ते हैं 2 सरणी में, फिर अंक [1], [2], [4], [1,2], [1,4], [2,4], [1,2,4] होंगे, इसलिए योग मान क्रमशः 1, 2, 4, 3, 5, 6, 7 होंगे।

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

  • अनुरोध:=1, मैं:=0, सेवानिवृत्त:=0

  • जबकि अनुरोध <=n, करें -

    • अगर मैं <अंकों और अंकों का आकार [i] <=req, तो,

      • अनुरोध =अनुरोध + अंक[i]

      • 1 से बढ़ाएँ

    • अन्यथा

      • अनुरोध =अनुरोध + अनुरोध

      • रिट को 1 से बढ़ाएं

  • वापसी रिट

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   int minPatches(vector<int>& nums, int n) {
      long long int req = 1;
      int i = 0;
      int ret = 0;
      while(req <= n){
         if(i < nums.size() && nums[i] <= req){
            req += nums[i];
            i++;
         } else {
            req += req;
            ret++;
         }
      }
      return ret;
   }
};
main(){
   Solution ob;
   vector<int> v = {1,4};
   cout << (ob.minPatches(v, 7));
}

इनपुट

{1,4}

आउटपुट

1

  1. सी ++ में ऐरे क्लास

    सी ++ में ऐरे क्लास काफी कुशल हैं और यह अपने आकार को भी जानता है। सरणी पर संचालन करने के लिए उपयोग किए जाने वाले कार्य हैं आकार() =सरणी के आकार को वापस करने के लिए यानी सरणी के तत्वों की संख्या लौटाता है। max_size() =सरणी के तत्वों की अधिकतम संख्या लौटाने के लिए। get(), at(), operator[] =सरणी तत्वो

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

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

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

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