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

Python में हेक्सस्पीक

मान लीजिए एक दशमलव संख्या को उसके हेक्सस्पीक प्रतिनिधित्व में बदला जा सकता है पहले इसे एक अपरकेस हेक्साडेसिमल स्ट्रिंग में बदलकर, उसके बाद अंक 0 के सभी घटनाओं को अक्षर O से और अंक 1 को अक्षर I से बदलकर।

इस प्रकार का प्रतिनिधित्व तभी वैध होता है जब इसमें केवल {"A", "B", "C", "D", "E", "F", "I", "O"} सेट के अक्षर हों।

इसलिए हमारे पास एक स्ट्रिंग num है जो दशमलव पूर्णांक N को दर्शाती है, हमें N का हेक्सस्पीक प्रतिनिधित्व ढूंढना है यदि यह सही है, अन्यथा "ERROR" लौटाएं। इसलिए यदि num = "257", तो आउटपुट "IOI" होगा क्योंकि 257 हेक्साडेसिमल में 101 है।

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

  • x := अंक का हेक्स प्रारूप
  • ans := एक खाली स्ट्रिंग
  • एक डिक्शनरी बनाएं, और संख्याएँ डालें (10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F', 1: 'I', 0: 'O')
  • x में प्रत्येक वर्ण i के लिए -
    • यदि i d में है, तो ans := ans + d[i], अन्यथा "ERROR" लौटाएं
  • ans लौटाएं

उदाहरण

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

class Solution(object):
    def convertToHex(self, n):
        res = []
        while n > 0:
            res.append(n % 16)
            n //= 16
        return res[::-1]
    def toHexspeak(self, num):
        x = self.convertToHex(int(num))
        ans = ""
        d = {10: "A", 11: "B", 12: "C", 13: "D", 14: "E", 15: "F", 0: "O", 1: "I"}
        for i in x:
            if i in d:
                ans += d[i]
            else:
                return "ERROR"
        return ans
ob1 = Solution()
print(ob1.toHexspeak("659724"))

इनपुट

"659724"

आउटपुट

"AIIOC"
  1. - पायथन में 3Sum

    मान लीजिए हमारे पास संख्याओं की एक सरणी है। यह n पूर्णांकों को संग्रहीत करता है, सरणी में तीन तत्व a, b, c हैं, जैसे कि a + b + c = 0। सरणी में उन सभी अद्वितीय ट्रिपलेट्स को ढूंढें जो स्थिति को संतुष्ट करते हैं। इसलिए यदि सरणी [-1,0,1,2,-1,-4] जैसी है, तो परिणाम [[-1, 1, 0], [-1, -1, 2]] होगा।इसे हल

  1. - पायथन में बिना दोहराव वाले वर्णों का सबसे लंबा सबस्ट्रिंग

    मान लीजिए हमारे पास एक स्ट्रिंग है। हमें बिना वर्णों को दोहराए सबसे लंबा सबस्ट्रिंग ढूंढना है। इसलिए यदि स्ट्रिंग ABCABCBB जैसी है, तो परिणाम 3 होगा, क्योंकि लंबाई 3 का एक सबस्ट्रिंग है जो दोहरा रहा है। वह है ABC। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: i := 0, j := 0 सेट करें, जानकारी स्

  1. - पायथन में Sqrt(x)

    मान लीजिए हमारे पास एक संख्या x है, और x एक गैर-ऋणात्मक संख्या है। हमें किसी लाइब्रेरी फंक्शन का उपयोग किए बिना x का वर्गमूल ढूंढना है। इसलिए हमें sqrt(x) का मूल्यांकन करने के लिए अपना खुद का फंक्शन बनाना होगा। इस फंक्शन में, आउटपुट का दशमलव अंक काट दिया जाएगा। मान लीजिए x का मान 4 है, तो परिणाम 2