কম্পিউটার

পাইথনের একটি স্ট্রিং-এ প্রথম অনন্য অক্ষর


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