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

पायथन में पत्र टाइल की संभावनाएं

मान लीजिए कि हमारे पास टाइलों का एक सेट है, जहां प्रत्येक टाइल पर एक अक्षर वाली टाइलें [i] मुद्रित हैं। अक्षरों के संभावित गैर-रिक्त अनुक्रमों की संख्या ज्ञात कीजिए जो हम बना सकते हैं। तो यदि इनपुट "एएबी" है, तो आउटपुट 8 होगा। अनुक्रम "ए", "बी", "एए", "एबी", "बीए", "एएबी", "एबीए", "बीएए" हैं।

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

  • एक dfs() परिभाषित करें, जो गिनती करेगा
  • योग :=0
  • 1 से 26 के बीच के लिए
    • अगर गिनती [i] =0 है, तो बाकी की जांच किए बिना अगले पुनरावृत्ति के लिए जाएं
    • गिनती घटाएं[i] 1 से, और योग 1 से बढ़ाएं
    • योग :=योग + dfs(गिनती)
    • गिनती बढ़ाएं[i] 1 से
  • वापसी राशि
  • वास्तविक विधि इस प्रकार होगी -
  • 26 आकार की एक गिनती सरणी बनाएं, और इसे 0 से भरें
  • टाइल्स में प्रत्येक तत्व के लिए
    • गिनती बढ़ाएं[i - 'A' + 1] 1 से
  • वापसी dfs(गिनती)

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

उदाहरण

class Solution(object):
   def numTilePossibilities(self, tiles):
      count = [0 for i in range(27)]
      for i in tiles:
         count[ord(i)-ord('A')+1]+=1
      return self.dfs(count)
   def dfs(self,count):
      summ = 0
      for i in range(1,27):
         if count[i]==0:
            continue
         count[i]-=1
         summ+=1
         summ+=self.dfs(count)
         count[i]+=1
      return summ
ob = Solution()
print(ob.numTilePossibilities("AAB"))

इनपुट

"AAB"

आउटपुट

8

  1. पायथन में गिनें और कहें

    यहां हम काउंट एंड साय सीक्वेंस देखेंगे। यह एक क्रम है जिसके कुछ पद नीचे दिए गए हैं - 1 11 21 1211 111221 स्ट्रिंग को इस तरह पढ़ा जाएगा 1 (एक) 11 (एक 1) तो पिछला 1 पढ़ें और एक 1 कहें 21 (दो 1) तो पिछले 11 को पढ़ें और दो 1 कहें 1211 (एक 2 एक 1) अतः पिछला 21 पढ़ें, और कहें एक 2 एक 1 111221 (एक 1 एक

  1. एक सरणी में व्युत्क्रमों की गणना करने के लिए पायथन कार्यक्रम

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

  1. पायथन में कक्षा या स्थिर चर?

    जब हम एक वर्ग के अंदर लेकिन किसी भी विधि के बाहर एक चर घोषित करते हैं, तो इसे पायथन में वर्ग या स्थिर चर कहा जाता है। कक्षा या स्थिर चर को एक वर्ग के माध्यम से संदर्भित किया जा सकता है लेकिन सीधे एक उदाहरण के माध्यम से नहीं। क्लास या स्टैटिक वेरिएबल काफी अलग हैं और समान नाम वाले किसी अन्य मेंबर वेर