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

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

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

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

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

  • अगर n> 2 * (ऊपरी - निचला) + 1, तो

    • खाली सूची लौटाएं

  • c :=ऊपरी - निचला

  • घ :=1

  • अगर सी <एन, तो

    • डी:=एन - सी - 1

  • यदि d, 0 के समान है, तो

    • घ :=1

  • f :=(ऊपरी - d) से (ऊपरी -1) तक की श्रेणी से एक नई सूची

  • g :=श्रेणी से एक नई सूची (ऊपरी - n + d - 1) नीचे से ऊपर तक

  • f और g को संयोजित करें और वापस लौटें

उदाहरण

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

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. एक सूची का संचयी योग खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें संचयी राशि के साथ एक सूची बनानी होगी। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # cumulative sum def Cumulative(l):    new = []    cumsum = 0   &nb

  1. सूची में तत्वों का योग खोजने के लिए पायथन कार्यक्रम

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

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

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