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

पायथन में रूट टू लीफ पथ में अपर्याप्त नोड्स


मान लीजिए हमारे पास एक बाइनरी ट्री है। एक नोड को अपर्याप्त के रूप में जाना जाता है यदि इस नोड को इंटरसेक्ट करने वाला प्रत्येक ऐसा रूट टू लीफ पथ का योग सख्ती से लिमिट से कम है। हमें सभी अपर्याप्त नोड्स को एक साथ हटाना है, और परिणामी बाइनरी ट्री का रूट लौटाना है। इसलिए यदि ट्री इस तरह है, और लिमिट 1 है -

पायथन में रूट टू लीफ पथ में अपर्याप्त नोड्स

तब आउटपुट ट्री होगा -

पायथन में रूट टू लीफ पथ में अपर्याप्त नोड्स

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

  • solve() नामक एक मेथड परिभाषित करें, यह root और limit लेगा
  • यदि नोड के बाएं और दाएं सबट्री नहीं हैं, तो
    • यदि रूट का मान 1 से कम है, तो null लौटाएं, अन्यथा रूट
  • यदि रूट का बायां सबट्री है, तो रूट का बायां := solve(रूट का बायां, limit - रूट का मान)
  • यदि रूट का दायां सबट्री है, तो रूट का दायां := solve(रूट का दायां, limit - रूट का मान)
  • यदि रूट का या तो बायां सबट्री है, या दायां सबट्री या दोनों, तो रूट लौटाएं, अन्यथा null।

उदाहरण

class Solution(object):
    def sufficientSubset(self, root, limit):
        \"\"\"
        :type root: TreeNode
        :type limit: int
        :rtype: TreeNode
        \"\"\"
        if not root.left and not root.right:
            return None if root.val

इनपुट

[1,2,3,4,-99,-99,7,8,9,-99,-99,12,13,-99,14] 1

आउटपुट

[1,2,3,4,null,null,7,8,9,null,14]

  1. पायथन में BST में Kवां सबसे छोटा एलिमेंट पायथन में BST में Kवां सबसे छोटा एलिमेंट

    मान लीजिए हमारे पास एक बाइनरी सर्च ट्री है। हमें उस BST में Kवां सबसे छोटा एलिमेंट ढूंढना है। इसलिए यदि ट्री इस तरह है - इसलिए यदि हम 3रा सबसे छोटा एलिमेंट ढूंढना चाहते हैं, तो k = 3, और परिणाम 7 होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - nodes नामक एक खाली लिस्ट बनाएं solve(root, node

  1. पायथन में बाइनरी ट्री उल्टा करें पायथन में बाइनरी ट्री उल्टा करें

    मान लीजिए हमारे पास एक बाइनरी ट्री है। हमारा कार्य एक उल्टा बाइनरी ट्री बनाना है। यदि ट्री नीचे जैसा है: उल्टा ट्री इस तरह होगा: इसे हल करने के लिए हम एक पुनरावर्ती दृष्टिकोण का उपयोग करेंगे: यदि रूट null है, तो वापस करें बाएं और दाएं पॉइंटर्स को स्वैप करें बाएं सबट्री और दाएं सबट्री के लिए पुनर

  1. पायथन में पथ योग पायथन में पथ योग

    मान लीजिए हमारे पास एक ट्री और एक योग है। हमें एक ऐसा पथ ढूंढना है जिससे यदि हम उस पथ का अनुसरण करें, तो हमें वह योग मिलेगा जो दिए गए योग से मेल खाता हो। मान लीजिए ट्री [0,-3,9,-10, null,5] जैसा है और योग 14 है, तो एक पथ 0 → 9 → 5 है। हल करने के चरण यदि रूट null है, तो False वापस करें यदि बायां औ