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

पायथन में लेक्सिकोग्राफिकली सबसे बड़ी माउंटेन लिस्ट ढूंढना


मान लीजिए हमारे पास तीन पॉजिटिव संख्याएं हैं, मान लीजिए n, lower, और upper। हमें एक लिस्ट ढूंढनी है जिसकी लंबाई n है और जो सख्ती से बढ़ रही है और फिर सख्ती से घट रही है और सभी संख्याएं रेंज [lower और upper] (दोनों समावेशी) में हैं। और प्रत्येक बढ़ते और घटते भाग नॉन-खाली होने चाहिए। हमें लेक्सिकोग्राफिकली सबसे बड़ी ऐसी लिस्ट ढूंढनी है, यदि यह संभव नहीं है, तो खाली लिस्ट लौटाएं।

उदाहरण के लिए, यदि इनपुट है n = 5, lower = 3, upper = 7, तो आउटपुट होगा [6, 7, 6, 5, 4], यदि हम बारीकी से देखें, तो [7, 6, 5, 4, 3] वैध नहीं है क्योंकि सख्ती से बढ़ने वाला भाग नॉन-खाली होना चाहिए।

समाधान दृष्टिकोण

माउंटेन सरणी के लिए शर्त: n <= 2*(upper - lower) + 1। पीक upper पर होना चाहिए। लेक्सिकोग्राफिकली सबसे बड़ा बनाने के लिए, हम पीक से जितना संभव हो उतना दूर शुरू करते हैं।

  • यदि n > 2*(upper - lower) + 1, तो खाली लिस्ट लौटाएं।
  • c = upper - lower, d = 1 की गणना करें।
  • यदि c < n, तो d = n - c - 1।
  • यदि d == 0, तो d = 1।
  • बढ़ता भाग: range(upper - d, upper)।
  • घटता भाग: range(upper, upper - n + d, -1)।
  • दोनों को जोड़कर लौटाएं।

पायथन कार्यान्वयन

def solve(n, lower, upper):
    if n > 2 * (upper - lower) + 1:
        return []
    c = upper - lower
    d = 1
    if c < n:
        d = n - c - 1
    if d == 0:
        d = 1
    f = list(range(upper - d, upper))
    g = list(range(upper, upper - n + d, -1))
    return f + g

n = 5
lower = 3
upper = 7
print(solve(n, lower, upper))

इनपुट

5, 3, 7

आउटपुट

[6, 7, 6, 5, 4]

  1. पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक लिस्ट दी गई है, हमें संचयी योग के साथ एक लिस्ट बनानी है। उदाहरण # संचयी योग def Cumulative(l): new = [] cumsum = 0 for element in l: cumsum += element new.append(cumsum) return new # ड्राइवर

  1. पायथन प्रोग्राम: लिस्ट में एलिमेंट्स का योग ढूंढें पायथन प्रोग्राम: लिस्ट में एलिमेंट्स का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक लिस्ट दिए जाने पर, हमें दी गई लिस्ट का योग निकालने की आवश्यकता है। यहां हमारे पास दो दृष्टिकोण हैं: बिल्ट-इन फंक्शन का उपयोग करना और ब्रूट-फोर्स दृष्टिकोण का उपयोग

  1. पायथन प्रोग्राम: ऐरे में सबसे बड़ा एलिमेंट ढूंढें पायथन प्रोग्राम: ऐरे में सबसे बड़ा एलिमेंट ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें ऐरे में सबसे बड़ा एलिमेंट ढूंढने की आवश्यकता है। दृष्टिकोण हम max को पहले एलिमेंट के रूप में इनिशियलाइज़ करते हैं। इसके बाद, हम दिए गए ऐरे