ধরুন আমাদের একটি স্ট্রিং 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