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

पायथन में कैरेक्टर्स की स्ट्रीम से पहला नॉन-रिपीटिंग कैरेक्टर खोजें


मान लीजिए हमारे पास कैरेक्टर्स की एक स्ट्रीम है, या हम एक स्ट्रिंग पर विचार कर सकते हैं और हमें स्ट्रिंग में पहला नॉन-रिपीटिंग कैरेक्टर ढूंढना है। तो, यदि स्ट्रिंग "people" जैसी है, तो पहला अक्षर जिसकी घटना एक है 'o' है। तो, इंडेक्स लौटाया जाएगा, जो यहां 2 है। यदि ऐसा कोई वर्ण नहीं है, तो -1 लौटाएं।

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • एक फ्रीक्वेंसी मैप बनाएं

  • स्ट्रिंग में प्रत्येक वर्ण c के लिए, करें:

    • यदि c फ्रीक्वेंसी में नहीं है, तो इसे फ्रीक्वेंसी में डालें, और मान 1 रखें

    • अन्यथा फ्रीक्वेंसी में काउंट बढ़ाएं

  • फ्रीक्वेंसी मैप को स्कैन करें, यदि किसी विशिष्ट कुंजी का मान 1 है, तो वह कुंजी लौटाएं, अन्यथा -1 लौटाएं

उदाहरण

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

class Solution(object):    def firstUniqChar(self, s):       """       :type s: str       :rtype: int       """       frequency = {}       for i in s:          if i not in frequency:             frequency[i] = 1          else:             frequency[i] +=1       for i in range(len(s)):          if frequency[s[i]] == 1:             return i       return -1 ob1 = Solution() print(ob1.firstUniqChar("people")) print(ob1.firstUniqChar("abaabba"))

इनपुट

"people" "abaabba"

आउटपुट

2 -1

  1. - स्ट्रिंग में पहला दोहराया गया शब्द खोजने के लिए पायथन प्रोग्राम

    समस्या विवरण एक स्ट्रिंग दी गई है। हमारा कार्य उस स्ट्रिंग में पहला दोहराया गया शब्द खोजना है। इसके लिए हम पायथन के collections मॉड्यूल से Counter() विधि का उपयोग करते हैं। एल्गोरिदम दिए गए स्ट्रिंग को स्पेस से अलग करके शब्दों की सूची बनाएं। शब्दों की सूची को डिक्शनरी में बदलें (शब्द: आवृत्ति)। 1

  1. - Python टपल से पहला एलिमेंट कैसे पॉप करें?

    परिभाषा के अनुसार, टपल ऑब्जेक्ट इम्यूटेबल है। इसलिए इससे एलिमेंट निकालना संभव नहीं है। हालांकि, एक वर्कअराउंड होगा टपल को लिस्ट में बदलें, लिस्ट से वांछित एलिमेंट निकालें और इसे वापस टपल में बदलें। >>> T1=(1,2,3,4) >>> L1=list(T1) >>> L1.pop(0) 1 >>> L1 [2, 3, 4]

  1. - पायथन में स्ट्रिंग से कैरेक्टर कैसे हटाएं?

    यदि आप स्ट्रिंग में किसी निश्चित इंडेक्स पर स्थित कैरेक्टर को हटाना चाहते हैं, तो आप स्ट्रिंग स्लाइसिंग का उपयोग करके उस कैरेक्टर के बिना एक नई स्ट्रिंग बना सकते हैं। उदाहरण के लिए: >>> s = Hello World >>> s[:4] + s[5:] Hell World लेकिन यदि आप किसी कैरेक्टर या कैरेक्टर्स की सूची के