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

सी ++ प्रोग्राम उन तत्वों को रखने के लिए आवश्यक संचालन की संख्या की गणना करने के लिए जिनकी अनुक्रमणिका मान से छोटी है

मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है। हम इन कार्यों को कितनी भी बार कर सकते हैं -

  • कोई धनात्मक पूर्णांक k चुनें

  • क्रम में किसी भी स्थिति का चयन करें और उस स्थिति में k डालें

  • तो, क्रम बदल गया है, हम अगले ऑपरेशन में इस क्रम के साथ आगे बढ़ते हैं।

हमें शर्त को पूरा करने के लिए आवश्यक न्यूनतम संक्रियाओं की संख्या ज्ञात करनी होगी:A[i] <=i सभी के लिए i जो 0 से n-1 की सीमा में है।

इसलिए, यदि इनपुट ए =[1, 2, 5, 7, 4] की तरह है, तो आउटपुट 3 होगा, क्योंकि हम इस तरह के ऑपरेशन कर सकते हैं:[1,2,5,7,4] से [1] ,2,3,5,7,4] से [1,2,3,4,5,7,4] से [1,2,3,4,5,3,7,4] तक।

कदम

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

maxj := 0
n := size of A
for initialize i := 0, when i < n, update (increase i by 1), do:
   maxj := maximum of maxj and (A[i] - i - 1)
return maxj

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;

int solve(vector<int> A) {
   int maxj = 0;
   int n = A.size();
   for (int i = 0; i < n; i++) {
      maxj = max(maxj, A[i] - i - 1);
   }
   return maxj;
}
int main() {
   vector<int> A = { 1, 2, 5, 7, 4 };
   cout << solve(A) << endl;
}

इनपुट

{ 1, 2, 5, 7, 4 }

आउटपुट

3

  1. सी ++ में बाइनरी मैट्रिक्स को शून्य मैट्रिक्स में बदलने के लिए संचालन की संख्या की गणना करने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बाइनरी मैट्रिक्स है। अब एक ऑपरेशन पर विचार करें जहां हम एक सेल लेते हैं और इसे और उसके सभी पड़ोसी कोशिकाओं (ऊपर, नीचे, बाएं, दाएं) को फ्लिप करते हैं। हमें आवश्यक संक्रियाओं की न्यूनतम संख्या ज्ञात करनी होगी जैसे कि मैट्रिक्स में केवल 0s हों। अगर कोई समाधान नहीं है, तो -1 लौ

  1. C++ में क्रमबद्ध घुमाए गए सरणी में दिए गए मान से कम या उसके बराबर तत्वों की गणना करें

    हमें पूर्णांकों की एक सरणी दी गई है। सरणी एक क्रमबद्ध घुमाई गई सरणी है। लक्ष्य सरणी में तत्वों की संख्या ज्ञात करना है जो दी गई संख्या K के बराबर या उससे कम हैं। दृष्टिकोण पूरे सरणी को पार करना और ऐसे तत्वों को गिनना है जो या तो कम हैं या के बराबर हैं। इनपुट Arr[]= { 1,2,3,4,9,8,10 } K=4 आउटपुट Ele

  1. C++ में सॉर्ट किए गए मैट्रिक्स में x से छोटे या उसके बराबर तत्वों की गणना करें

    हमें आकार n x n का एक मैट्रिक्स दिया गया है, एक पूर्णांक चर x, और साथ ही, मैट्रिक्स में तत्वों को क्रमबद्ध क्रम में रखा गया है और कार्य उन तत्वों की गणना की गणना करना है जो x के बराबर या उससे कम हैं। इनपुट - matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {6, 7, 8}} and X = 4 आउटपुट - count is 4 स्पष्टीकरण