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

C++ में केवल एक स्वैप ऑपरेशन का उपयोग करके सबसे बड़ी छोटी संख्या संभव है

इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो एक एकल स्वैप के साथ सबसे बड़ी संख्या ढूंढता है जो दी गई संख्या n से कम है।

आइए समस्या को हल करने के लिए चरणों को देखें।

  • संख्या n प्रारंभ करें।
  • स्ट्रिंग के अंत से पुनरावृति करें और उस अंक का सूचकांक ज्ञात करें जो उसके अगले अंक से बड़ा है। इसे एक वेरिएबल में स्टोर करें।
  • लूप मिलते ही उसे तोड़ दें।
  • स्ट्रिंग के अंत से उपरोक्त इंडेक्स तक की संख्या पर पुनरावृति करें।
    • अंक का सूचकांक ज्ञात कीजिए जो उपरोक्त अनुक्रमित अंक से कम है और क्षेत्र में सभी के बीच बड़ा है।
  • ऊपर दिए गए दो इंडेक्स पर अंकों को स्वैप करें। अपडेटेड नंबर लौटाएं।

उदाहरण

आइए कोड देखें।

#include <bits/stdc++.h>
using namespace std;
string getTheNumber(string str) {
   int length = str.length();
   int index = -1;
   for (int i = length - 2; i >= 0; i--) {
      if (str[i] > str[i+1]) {
         index = i;
         break;
      }
   }
   int smallerDigitIndex = -1;
   for (int i = length - 1; i > index; i--) {
      if (str[i] < str[index]) {
         if (smallerDigitIndex == -1 || str[i] >= str[smallerDigitIndex]) {
            smallerDigitIndex = i;
         }
      }
   }
   if (index == -1) {
      return "-1";
   }
   if (smallerDigitIndex != -1) {
      swap(str[index], str[smallerDigitIndex]);
      return str;
   }
   return "-1";
}
int main() {
   string str = "54624";
   cout << getTheNumber(str) << endl;
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

54426

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. C++ का उपयोग करके ग्रिड में एक बिंदु से दूसरे स्थान पर जाने के तरीकों की संख्या ज्ञात कीजिए

    इस लेख में, हमें एक प्रश्न दिया गया है जिसमें हमें बिंदु ए से बी तक कुल तरीकों को खोजने की जरूरत है जहां ए और बी निश्चित बिंदु हैं, यानी ए ग्रिड में शीर्ष-बाएं बिंदु है और बी नीचे है उदाहरण के लिए ग्रिड में दायां बिंदु - Input : N = 5 Output : 252 Input : N = 4 Output : 70 Input : N = 3 Output : 2

  1. C++ का उपयोग करके अन्य में मौजूद एक स्ट्रिंग के सबस्ट्रिंग्स की संख्या ज्ञात करें

    इस लेख में, हमें दो तार दिए गए हैं, और हमें यह पता लगाने की आवश्यकता है कि दूसरी स्ट्रिंग में पहली स्ट्रिंग के कितने सबस्ट्रिंग पाए जा सकते हैं (सटीक सबस्ट्रिंग कई बार हो सकती है)। उदाहरण के लिए Input : string1 = “fogl”    string2 = “google” Output : 6 Explanation :

  1. C++ का प्रयोग करते हुए दिए गए बिंदुओं से संभव चतुर्भुजों की संख्या ज्ञात कीजिए

    एक चतुर्भुज यूक्लिडियन समतल ज्यामिति में चार शीर्षों और चार किनारों वाला एक बहुभुज बनाता है। नाम 4-गॉन आदि। चतुर्भुज के अन्य नामों में शामिल हैं और कभी-कभी उन्हें एक वर्ग, प्रदर्शन शैली आदि के रूप में भी जाना जाता है। इस लेख में, हम दिए गए बिंदुओं से संभव चतुर्भुजों की संख्या का पता लगाने के तरीकों