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

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


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

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

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

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

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

उदाहरण

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

static bool cmp(string a, string b) { 
    return (a + b) >= (b + a); 
} 

string solve(vector& nums) { 
    vector 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 v = {20, 8, 85, 316}; 
    cout << solve(v); 
}

इनपुट

{20, 8, 85, 316}

आउटपुट

88531620
  1. - C++ प्रोग्राम: तीन संख्याओं में सबसे बड़ी संख्या खोजें

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

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

    मान लीजिए हमारे पास A और B नामक दो संख्याओं की सूचियां हैं, और उनकी लंबाई समान है। हमें सभी 0 <= i < j < n के लिए अधिकतम मान ढूंढना है: |a[i]-a[j]| + |b[i]-b[j]| + |i-j|।उदाहरण के लिए, यदि इनपुट A = [2, 4, 10, 6] और B = [3, 4, 7, 5] है, तो आउटपुट 14 होगा, जब i=0, j=2 पर |2-10| + |3-7| + |0-2| = 8+4+

  1. - पायथन - दी गई संख्याओं की लिस्ट से संभव सबसे बड़ी संख्या

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