মনে করুন একটি স্ট্রিং s আছে, আমাদের সেটিতে প্রথম পুনরাবৃত্ত ক্যারেক্টারের ইনডেক্স খুঁজে বের করতে হবে। যদি কোনো পুনরাবৃত্ত ক্যারেক্টার না পাওয়া যায়, তবে -1 ফেরত দিতে হবে।
উদাহরণস্বরূপ, ইনপুট "abcade" হলে আউটপুট হবে 3, কারণ 'a' আবার ইনডেক্স 3-এ উপস্থিত।
সমাধানের ধাপসমূহ
- chars নামে একটি ম্যাপ সংজ্ঞায়িত করুন
- i = 0 থেকে s-এর আকার পর্যন্ত লুপ চালান
- যদি s[i] chars-এ থাকে, তবে
- i ফেরত দিন
- অন্যথায়,
- chars[s[i]] := chars[s[i]] + 1
- যদি s[i] chars-এ থাকে, তবে
- -1 ফেরত দিন
উদাহরণ
from collections import defaultdict
class Solution:
def solve(self, s):
chars = defaultdict(int)
for i in range(len(s)):
if s[i] in chars:
return i
else:
chars[s[i]] += 1
return -1
ob = Solution()
print(ob.solve("abcade"))ইনপুট
"abcade"
আউটপুট
3