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

पायथन में लगातार समान अंतर वाली संख्याओं को खोजने का कार्यक्रम

मान लीजिए हमें आकार N की एक सरणी ढूंढनी है जैसे कि प्रत्येक दो लगातार अंकों के बीच पूर्ण अंतर K है। उत्तर में प्रत्येक संख्या में संख्या 0 को छोड़कर अग्रणी शून्य नहीं होना चाहिए।

इसलिए, यदि इनपुट N =4 K =7 जैसा है, तो आउटपुट [1818, 2929, 7070, 8181, 9292] होगा, यहां 0707 मान्य नहीं है क्योंकि इसमें 0 से आगे है।

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

  • अगर N 1 के समान है, तो

    • 0 से 9 तक की नई सूची लौटाएं

  • कतार:=1 से 9 तक के सभी तत्वों के साथ एक कतार बनाएं

  • n के लिए 0 से N - 2 की सीमा में, करें

    • len_queue :=कतार का आकार

    • j के लिए 0 से len_queue -1 तक की श्रेणी में, करें

      • num :=कतार का बायां आइटम, और इसे कतार से हटा दें

      • एलएसडी:=संख्या मॉड 10

      • अगर एलएसडी - के>=0, तो

        • कतार के अंत में num * 10 + lsd - K डालें

      • अगर के और एलएसडी + के <=9, तो

        • कतार के अंत में num * 10 + lsd + K डालें

  • कतार के तत्वों को वापस करें

उदाहरण

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

from collections import deque
def solve(N, K):
   if N == 1:
      return list(range(10))
   queue = deque(list(range(1, 10)))
   for n in range(N - 1):
      len_queue = len(queue)
      for j in range(len_queue):
         num = queue.popleft()
         lsd = num % 10
         if lsd - K >= 0:
            queue.append( num * 10 + lsd - K )
         if K and lsd + K <= 9:
            queue.append( num * 10 + lsd + K )
   return list(queue)

N = 4
K = 7
print(solve(N, K))

इनपुट

4, 7

आउटपुट

[1818, 2929, 7070, 8181, 9292]

  1. पायथन का उपयोग करके समान लेबल वाले उप-वृक्ष में नोड्स की संख्या खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास n नोड्स वाला एक रूटेड सामान्य ट्री है, जिसके नोड्स 0 से n-1 तक गिने जाते हैं। प्रत्येक नोड में लोअरकेस अंग्रेजी अक्षर वाला एक लेबल होता है। लेबल्स को लेबल एरे में इनपुट के रूप में दिया जाता है, जहां लेबल्स [i] में ith नोड के लिए लेबल होता है। पेड़ को किनारे की सूची द्वारा दर्श

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

    मान लीजिए कि हमारे पास एक स्ट्रिंग s है, हमें समान वर्णों वाले सबसे लंबे सबस्ट्रिंग की लंबाई ज्ञात करनी है। इसलिए, यदि इनपुट abbbaccabbba जैसा है, तो आउटपुट 4 होगा, क्योंकि इसमें लगातार चार बी होते हैं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - यदि s का आकार 0 है, तो वापसी 0 s :=s रिक्त

  1. अधिकतम तीन नंबर खोजने के लिए पायथन प्रोग्राम

    इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो तीन अंकों से अधिकतम राशि का पता लगाता है। हमारे पास तीन संख्याएँ होंगी, और हमारा लक्ष्य उन तीन संख्याओं में से अधिकतम संख्या ज्ञात करना है। आइए बेहतर समझ के लिए कुछ नमूना परीक्षण मामलों को देखें। Input: a, b, c = 2, 34, 4 Output: 34 Input: a