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

अजगर में kth सबसे छोटी n लंबाई लेक्सिकोग्राफिक रूप से सबसे छोटी स्ट्रिंग खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक संख्या n और दूसरा मान k है। आइए अब हम केवल "0", "1" और "2" वाली एक स्ट्रिंग पर विचार करें जहां कोई भी वर्ण उत्तराधिकार में दोहराया नहीं जाता है। हमें लंबाई n के ऐसे स्ट्रिंग्स का चयन करना होगा और kth लेक्सिकोग्राफिक रूप से सबसे छोटी स्ट्रिंग ढूंढनी होगी। अगर कोई kth स्ट्रिंग नहीं है, तो खाली स्ट्रिंग लौटाएं।

इसलिए, यदि इनपुट n =4 k =2 जैसा है, तो आउटपुट "0120" होगा।

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

  • एक विधि को परिभाषित करें हल करें() इसमें s, k और अंतिम समय लगेगा
  • यदि s 0 के समान है, तो
    • रिक्त स्ट्रिंग लौटाएं
  • "012" में प्रत्येक वर्ण c के लिए, करें
    • यदि c पिछले जैसा ही है, तो
      • अगले पुनरावृत्ति के लिए जाएं
    • यदि k <2^(s-1), तो
      • वापसी c + हल (s - 1, k, c)
    • k :=k - 2^(s-1)
  • रिक्त स्ट्रिंग लौटाएं
  • मुख्य विधि कॉल से हल करें(n, k, Null)

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

उदाहरण कोड

class Solution:
   def solve(self, s, k, last=None):
      if s == 0:
         return ""
         for c in "012":
            if c == last:
               continue
            if k < 2 ** (s - 1):
               return c + self.solve(s - 1, k, c)
            k -= 2 ** (s - 1)
         return ""

ob = Solution()
n = 4
k = 2
print(ob.solve(n, k))

इनपुट

4, 2

आउटपुट

0120

  1. अजगर में एक स्ट्रिंग की लंबाई खोजें (3 तरीके)

    स्ट्रिंग एक अजगर है जो यूनिकोड वर्णों की एक श्रृंखला है। एक बार घोषित होने के बाद यह परिवर्तन योग्य नहीं है। इस लेख में हम देखेंगे कि स्ट्रिंग की लंबाई ज्ञात करने के विभिन्न तरीके क्या हैं। लेन का उपयोग करना() यह सबसे सीधा रास्ता है। यहां हम len() नाम के लाइब्रेरी फंक्शन का उपयोग करते हैं। स्ट्रिंग

  1. 2D सरणी में k'th सबसे छोटा तत्व खोजने के लिए पायथन प्रोग्राम

    एक n×n उपयोगकर्ता इनपुट पूर्णांक मैट्रिक्स दिया गया है और k का मान दिया गया है। हमारा कार्य 2D सरणी में kth सबसे छोटे तत्व का पता लगाना है। यहाँ हम पाइथॉन में हेपैक मड्यूल.हीप क्यू (या हीपक) का उपयोग करते हैं। पायथन में, यह heapq मॉड्यूल का उपयोग करके उपलब्ध है। पायथन में इस मॉड्यूल की तकनीक यह है क

  1. एक स्ट्रिंग में दर्पण वर्ण खोजने के लिए पायथन प्रोग्राम

    उपयोगकर्ता इनपुट स्ट्रिंग और उस स्थिति से स्थिति को देखते हुए हमें वर्णों को वर्णानुक्रम में स्ट्रिंग की लंबाई तक दर्पण करने की आवश्यकता है। इस ऑपरेशन में, हम a को z, b से y, c से x, d से w में बदलते हैं और इसी तरह से पहला कैरेक्टर आखिरी हो जाता है और इसी तरह चालू। Inpu t: p = 3 Input string = p