ধরুন আমাদের একটি স্ট্রিং s আছে, আমাদের এটিতে প্রথম পুনরাবৃত্তিমূলক অক্ষরের সূচকটি খুঁজে বের করতে হবে। যদি আমরা কোন পুনরাবৃত্ত অক্ষর খুঁজে না পাই, তাহলে -1 ফেরত দিন।
সুতরাং, ইনপুট যদি "abcade" এর মত হয়, তাহলে আউটপুট হবে 3, কারণ 'a' আবার ইনডেক্স 3 এ উপস্থিত থাকে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- একটি মানচিত্র অক্ষর সংজ্ঞায়িত করুন
- 0 থেকে s আকারের রেঞ্জের জন্য,
- করুন
- যদি s[i] অক্ষরে থাকে, তাহলে
- রিটার্ন i
- অন্যথায়,
- অক্ষর[s[i]] :=অক্ষর[s[i]] + 1
- যদি s[i] অক্ষরে থাকে, তাহলে
- রিটার্ন -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