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

पायथन में निकटतम वर्गमूल का अनुमान लगाएं


मान लीजिए हमारे पास एक गैर-ऋणात्मक संख्या n है, हमें एक संख्या r ढूंढनी है जैसे कि r * r = n और हमें निकटतम पूर्णांक तक राउंड डाउन करना है। हमें इस समस्या को अंतर्निहित वर्गमूल फ़ंक्शन का उपयोग किए बिना हल करना है।

उदाहरण के लिए, यदि इनपुट है 1025, तो आउटपुट होगा 32।

हल करने के चरण

  • यदि n <= 1, तो n लौटाएं।
  • start := 1, end := n
  • जब तक start < end:
    • mid := start + end // 2
    • यदि mid * mid <= n, तो start := mid + 1।
    • अन्यथा, end := mid।
  • start - 1 लौटाएं।

उदाहरण

class Solution:
    def solve(self, n):
        if n <= 1:
            return n
        start, end = 1, n
        while start < end:
            mid = (start + end) >> 1
            if mid * mid <= n:
                start = mid + 1
            else:
                end = mid
        return start - 1

ob = Solution()
print(ob.solve(1025))

इनपुट

1025

आउटपुट

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

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

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

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

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

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