কম্পিউটার

পাইথনে অক্ষরের একটি প্রবাহ থেকে প্রথম অ-পুনরাবৃত্ত অক্ষর খুঁজুন


ধরুন আমাদের কাছে অক্ষরের একটি স্ট্রীম আছে, অথবা আমরা একটি স্ট্রিং বিবেচনা করতে পারি এবং আমাদের স্ট্রিংটিতে প্রথম অ-পুনরাবৃত্ত অক্ষরটি খুঁজে বের করতে হবে। সুতরাং, যদি স্ট্রিংটি "লোক" এর মতো হয়, তবে প্রথম অক্ষর যার উপস্থিতি এক হয় তা হল 'ও'। সুতরাং, সূচকটি ফেরত দেওয়া হবে, এটি এখানে 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. পাইথন প্রোগ্রাম অক্ষরের একটি প্রবাহ থেকে প্রথম অ-পুনরাবৃত্ত অক্ষর খুঁজে পেতে?

  2. পাইথনে একটি স্ট্রিং প্রথম বার বার শব্দ খুঁজুন?

  3. পাইথন টিপল থেকে প্রথম উপাদানটি কীভাবে পপ-আপ করবেন?

  4. পাইথন ব্যবহার করে একটি স্ট্রিং থেকে একটি অক্ষর কিভাবে মুছে ফেলা যায়?