একটি স্ট্রিং দেওয়া থাকে। এর প্রথম ইউনিক (একবারই আসা) ক্যারেক্টারের ইন্ডেক্স বের করতে হবে। না পেলে -১ রিটার্ন করুন। উদাহরণ: "people" → 'o' ইন্ডেক্স ২, "abaabba" → -১।
সমাধানের পদ্ধতি
- ফ্রিকোয়েন্সি ম্যাপ (ডিকশনারি) বানান।
- স্ট্রিংয়ের প্রতিটি ক্যারেক্টারের ফ্রিকোয়েন্সি গণনা করুন।
- আবার স্ট্রিং স্ক্যান করুন: প্রথম ক্যারেক্টার যার ফ্রিকোয়েন্সি ১, তার ইন্ডেক্স রিটার্ন করুন।
- না পেলে -১ রিটার্ন করুন।
উদাহরণ কোড
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