কম্পিউটার টিউটোরিয়াল

পাইথনে স্ট্রিংয়ের প্রথম ইউনিক ক্যারেক্টার

একটি স্ট্রিং দেওয়া থাকে। এর প্রথম ইউনিক (একবারই আসা) ক্যারেক্টারের ইন্ডেক্স বের করতে হবে। না পেলে -১ রিটার্ন করুন। উদাহরণ: "people" → 'o' ইন্ডেক্স ২, "abaabba" → -১।

সমাধানের পদ্ধতি

  1. ফ্রিকোয়েন্সি ম্যাপ (ডিকশনারি) বানান।
  2. স্ট্রিংয়ের প্রতিটি ক্যারেক্টারের ফ্রিকোয়েন্সি গণনা করুন।
  3. আবার স্ট্রিং স্ক্যান করুন: প্রথম ক্যারেক্টার যার ফ্রিকোয়েন্সি ১, তার ইন্ডেক্স রিটার্ন করুন।
  4. না পেলে -১ রিটার্ন করুন।

উদাহরণ কোড

class Solution(object):
    def firstUniqChar(self, s):
        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. পাইথনে লিস্ট থেকে প্রথম নন-এম্পটি স্ট্রিং বের করা (First Non-Empty String)

  2. পাইথনে স্ট্রিংয়ে নির্দিষ্ট ক্যারেক্টারের আকারেন্স কাউন্ট করা (Count occurrence of character in string)

  3. পাইথনে স্ট্রিং-এ প্রতিটি ক্যারেক্টারের ফ্রিকোয়েন্সি বের করুন

  4. পাইথন প্রোগ্রাম: স্ট্রিং-এ কোনো ইউনিক ক্যারেক্টার (স্পেশাল ক্যারেক্টার) আছে কিনা যাচাই করা