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

C++ में संख्याओं की सूची से सबसे बड़ी लेक्सिकोग्राफिक संख्या बनाने का कार्यक्रम

मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है, हमें सबसे बड़ी संभव संख्या बनाने के लिए इसके क्रम को पुनर्व्यवस्थित करना होगा और इसे एक स्ट्रिंग के रूप में वापस करना होगा।

इसलिए, अगर इनपुट nums =[20, 8, 85, 316] जैसा है, तो आउटपुट "88531620" होगा।

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

  • एक सरणी अस्थायी परिभाषित करें
  • प्रत्येक आइटम के लिए मैं अंकों में:
    • अस्थायी में स्ट्रिंग के रूप में i डालें
  • लेक्सिकोग्राफिक अनुक्रम के आधार पर सरणी अस्थायी को सॉर्ट करें (दो स्ट्रिंग्स ए, बी की जांच करें जब एक कॉन्टेनेट बी बी कॉन्टेनेट ए या नहीं से बड़ा हो)
  • अस्थायी में प्रत्येक स्ट्रिंग के लिए:
    • res :=res concatenate s
  • रिटर्न रेस

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

उदाहरण

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

static bool cmp(string a, string b) {
   return (a + b) >= (b + a);
}
string solve(vector<int>& nums) {
   vector<string> temp;
   for (int i : nums) {
      temp.push_back(to_string(i));
   }
   sort(temp.begin(), temp.end(), cmp);
   string res;
   for (string s : temp) {
      res += s;
   }
   return res;
}

int main(){
   vector<int> v = {20, 8, 85, 316};
   cout << solve(v);
}

इनपुट

{20, 8, 85, 316}

आउटपुट

88531620

  1. C++ प्रोग्राम तीन नंबरों में सबसे बड़ी संख्या खोजने के लिए

    यदि कथन का कई बार उपयोग करके तीन संख्याओं में से सबसे बड़ी संख्या ज्ञात की जा सकती है। यह एक कार्यक्रम में इस प्रकार दिया गया है - उदाहरण #include <iostream> using namespace std; int main() {    int a = 5 ,b = 1 ,c = 9;    if(a>b) {       if(a>c)  

  1. पायथन में संख्याओं की दो सूची से सबसे बड़ी दूरी की जोड़ी खोजने का कार्यक्रम

    मान लीजिए हमारे पास ए और बी नामक संख्याओं की दो सूची है, और उनकी लंबाई समान है। हमें सभी 0 i

  1. पायथन - दिए गए नंबरों की सूची से सबसे बड़ी संख्या संभव है

    इस लेख में, हम यह जानने जा रहे हैं कि दी गई संख्याओं की सूची से संभव सबसे बड़ी संख्या कैसे ज्ञात की जाए। हम समस्या को हल करने के लिए दो अलग-अलग तरीके देखेंगे। समस्या को हल करने के लिए नीचे दिए गए चरणों का पालन करें। क्रमपरिवर्तन विधि के लिए itertools मॉड्यूल आयात करें। संख्याओं और एक खाली सूची के स