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

पायथन में 0 से n मानों के साथ अद्वितीय बाइनरी सर्च ट्री की संख्या गिनने का कार्यक्रम बनाया जा सकता है

मान लीजिए कि हमारे पास एक संख्या n है, हमें उन अद्वितीय BST की संख्या ज्ञात करनी है जिन्हें हम [0, n) से संख्याओं के साथ उत्पन्न कर सकते हैं। यदि उत्तर बहुत बड़ा मॉड है तो परिणाम 10^9+7

इसलिए, यदि इनपुट n =3 जैसा है, तो आउटपुट 5

. होगा

पायथन में 0 से n मानों के साथ अद्वितीय बाइनरी सर्च ट्री की संख्या गिनने का कार्यक्रम बनाया जा सकता है

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

  • संख्या :=1
  • संप्रदाय :=n + 1
  • 1 से n की श्रेणी में i के लिए, करें
    • संख्या :=अंक * n + i
    • संख्या :=न्यूमर मॉड एम
    • सांप्रदायिक:=संप्रदाय * मैं
    • संप्रदाय :=denom mod m
  • संख्या:=अंक * (denom^(m-2)) mod m
  • वापसी संख्या मोड एम

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

उदाहरण

class Solution:
   def solve(self, n):
      m = 10 ** 9 + 7
      numer = 1
      denom = n + 1
      for i in range(1, n + 1):
         numer *= n + i
         numer %= m
         denom *= i
         denom %= m
         numer *= pow(denom, m-2, m)
      return numer % m
ob = Solution()
print(ob.solve(4))

इनपुट

4

आउटपुट

14

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

    मान लीजिए कि हमारे पास (u, v) के रूप में किनारों की एक सूची है और ये एक पेड़ का प्रतिनिधित्व कर रहे हैं। प्रत्येक किनारे के लिए हमें इनपुट में दिए गए क्रम में उसी क्रम में अद्वितीय पथों की कुल संख्या ज्ञात करनी होगी जिसमें उक्त किनारे शामिल हैं। इसलिए, यदि इनपुट किनारों की तरह है =[[0, 1],[0, 2],[1

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

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

  1. लगातार 1 के बिना बाइनरी स्ट्रिंग्स की संख्या गिनने के लिए पायथन प्रोग्राम लगातार 1 के बिना बाइनरी स्ट्रिंग्स की संख्या गिनने के लिए पायथन प्रोग्राम

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