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

पायथन में काउंट एंड से


यहां हम काउंट एंड से अनुक्रम देखेंगे। यह एक अनुक्रम है जिसके कुछ पद नीचे हैं:

  • 1
  • 11
  • 21
  • 1211
  • 111221

स्ट्रिंग को इस तरह पढ़ा जाएगा:

  • 1 (एक)
  • 11 (एक 1) तो पिछले 1 को पढ़ें, और कहें "एक 1"
  • 21 (दो 1) तो पिछले 11 को पढ़ें, और कहें "दो 1"
  • 1211 (एक 2 एक 1) तो पिछले 21 को पढ़ें, और कहें "एक 2 एक 1"
  • 111221 (एक 1 एक 2 दो 1) तो पिछले 1211 को पढ़ें, और कहें "एक 1 एक 2 दो 1"

मान लीजिए हमारे पास एक संख्या n है, 1 <= n <= 30, तो हमें nवां पद उत्पन्न करना है।

हल करने के चरण

  • s := "1" सेट करें
  • यदि n = 1, तो s वापस करें
  • i := 2 से n + 1 तक
    • j := 0, temp := "", curr = "" और count := 0
    • जब तक j < s की लंबाई, करें
      • यदि curr "", तो curr := s[j], count := 1 और j को 1 से बढ़ाएं
      • अन्यथा यदि curr s[j] है, तो count और j को 1 से बढ़ाएं
      • अन्यथा temp := temp + count को स्ट्रिंग के रूप में + curr, curr = "", count := 0
    • temp := temp + count को स्ट्रिंग के रूप में + curr
  • s वापस करें

उदाहरण

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

class Solution(object):
    def countAndSay(self, n):
        """
        :type n: int
        :rtype: str
        """
        s = "1"
        if n == 1:
            return s
        for i in range(2,n+1):
            j = 0
            temp = ""
            curr = ""
            count = 0
            while j<len(s):
                if curr =="":
                    curr=s[j]
                    count=1
                    j+=1
                elif curr == s[j]:
                    count+=1
                    j+=1
                else:
                    temp+= str(count) + curr
                    curr=""
                    count = 0
            temp+=str(count) + curr
            s=temp
        return s

ob1 = Solution()
print(ob1.countAndSay(6))

इनपुट

print(ob1.countAndSay(6))

आउटपुट

312211

  1. - पायथन में पर्म्यूटेशन और कॉम्बिनेशन

    पायथन का itertools मॉड्यूल पर्म्यूटेशन और कॉम्बिनेशन जेनरेट करने के लिए कुशल फंक्शन्स प्रदान करता है। इंस्टॉलेशन/इम्पोर्ट from itertools import permutations, combinations, combinations_with_replacement पर्म्यूटेशन (क्रम महत्वपूर्ण) क्रम में व्यवस्था: nPr = n! / (n-r)! उदाहरण 1: पूर्ण पर्म्यूटेशन

  1. - पायथन में fcntl और ioctl सिस्टम कॉल्स

    फाइल्स और I/O को नियंत्रित करने के लिए, हमें fcntl मॉड्यूल का उपयोग करना चाहिए। यह मूल रूप से fcntl() और ioctl() यूनिक्स रूटीन का एक इंटरफेस है। इस मॉड्यूल में सभी मेथड्स अपने पहले आर्गुमेंट के रूप में एक इंटीजर या io.IOBase फाइल-डिस्क्रिप्टर लेते हैं। इस मॉड्यूल का उपयोग करने के लिए, हमें इसे आया

  1. - पायथन में =+ और += क्या करते हैं?

    += ऑपरेटर object.__iadd__() फ़ंक्शन के लिए सिंटैक्टिक शुगर है। पायथन डॉक्स से: ये मेथड ऑगमेंटेड अंकगणितीय असाइनमेंट (+=, -=, *=, @=, /=, //=, %=, **=, <<=, >>=, &=, ^=, |=) को इम्प्लीमेंट करने के लिए कॉल किए जाते हैं। ये मेथड इन-प्लेस ऑपरेशन (self को मॉडिफाई करना) करने का प्रयास करना चा