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

पायथन में अद्वितीय मोर्स कोड शब्द


मान लीजिए हमारे पास शब्दों की एक सूची है, यहां प्रत्येक शब्द को प्रत्येक अक्षर के मोर्स कोड के संयोजन के रूप में लिखा जा सकता है। उदाहरण के लिए, शब्द "cba" को "-.-..--..." के रूप में लिखा जा सकता है, यह संयोजन "-.-." | "-..." | ".-" है। इस प्रकार के संयोजन को शब्द का परिवर्तन कहा जाता है।

हम जानते हैं कि अंतर्राष्ट्रीय मोर्स कोड एक मानक एन्कोडिंग को परिभाषित करता है जहां प्रत्येक अक्षर को डॉट्स और डैश की श्रृंखला में मैप किया जाता है, जैसे: "a" -> ".-", "b" -> "-...", "c" -> "-.-.", आदि।

अंग्रेजी वर्णमाला के सभी 26 अक्षरों की सूची इस प्रकार है:

[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]

उदाहरण के लिए, यदि इनपुट ["gin", "zen", "gig", "msg"] है, तो आउटपुट 2 होगा, क्योंकि प्रत्येक शब्द का परिवर्तन है: "gin" -> "--...-.", "zen" -> "--...-.", "gig" -> "--...--.", "msg" -> "--...--."।

हल करने के चरण

  • morse_codes := [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
  • s := एक नया सेट
  • words में प्रत्येक शब्द के लिए:
    • temp := खाली स्ट्रिंग
    • शब्द में प्रत्येक c के लिए:
      • temp := temp + morse_codes[c का ASCII - 97]
    • temp को s में जोड़ें
  • s का आकार वापस करें

उदाहरण

class Solution:
    def uniqueMorseRepresentations(self, words):
        morse_codes = [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
        s = set()
        for word in words:
            temp = ''
            for c in word:
                temp += morse_codes[ord(c) - 97]
            s.add(temp)
        return len(s)

ob = Solution()
print(ob.uniqueMorseRepresentations(["gin", "zen", "gig", "msg"]))

इनपुट

["gin", "zen", "gig", "msg"]

आउटपुट

2
  1. - पायथन मैथ ऑपरेटर्स: एक संपूर्ण गाइड

    आप चाहे कुछ भी बना रहे हों, यह संभावना है कि संख्याएं आपके कोड में कहीं न कहीं आएंगी। आप रेस्तरां ऐप के लिए मेनू पर आइटम्स की कीमतों को स्टोर करने के लिए संख्याओं का उपयोग कर सकते हैं या करेंसी एक्सचेंज ऐप में विभिन्न मुद्राओं के बीच रूपांतरण करने के लिए। पायथन के शुरुआती आमतौर पर पूछते हैं कि उनके

  1. पायथन इंटरप्रेटर्स: एक चरण-दर-चरण गाइड पायथन इंटरप्रेटर्स: एक चरण-दर-चरण गाइड

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

  1. पायथन कोड ऑप्टिमाइज़ेशन टिप्स पायथन कोड ऑप्टिमाइज़ेशन टिप्स

    हालांकि हम सभी जानते हैं कि पायथन अन्य कंपाइल्ड भाषाओं जितना तेज़ या कुशल नहीं है। फिर भी, कई बड़ी कंपनियां दिखाती हैं कि पायथन कोड बहुत बड़े वर्कलोड को संभाल सकता है, जो दर्शाता है कि यह इतना धीमा भी नहीं है। इस सेक्शन में हम कुछ ऐसे टिप्स देखेंगे जिन्हें ध्यान में रखकर एक सही पायथन प्रोग्राम को औ