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

পাইথনে দেওয়া স্ট্রিং-এ প্রথম পুনরাবৃত্ত ক্যারেক্টারটির ইনডেক্স খুঁজে বের করার প্রোগ্রাম


মনে করুন একটি স্ট্রিং s আছে, আমাদের সেটিতে প্রথম পুনরাবৃত্ত ক্যারেক্টারের ইনডেক্স খুঁজে বের করতে হবে। যদি কোনো পুনরাবৃত্ত ক্যারেক্টার না পাওয়া যায়, তবে -1 ফেরত দিতে হবে।

উদাহরণস্বরূপ, ইনপুট "abcade" হলে আউটপুট হবে 3, কারণ 'a' আবার ইনডেক্স 3-এ উপস্থিত।

সমাধানের ধাপসমূহ

  • chars নামে একটি ম্যাপ সংজ্ঞায়িত করুন
  • i = 0 থেকে s-এর আকার পর্যন্ত লুপ চালান
    • যদি s[i] chars-এ থাকে, তবে
      • i ফেরত দিন
    • অন্যথায়,
      • chars[s[i]] := chars[s[i]] + 1
  • -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
  1. পাইথন প্রোগ্রাম দিয়ে স্ট্রিংয়ে প্রতিটি ক্যারেক্টারের ঘনত্ব বের করা

  2. পাইথনে স্ট্রিং প্যাংগ্রাম (Pangram) কিনা চেক করা

  3. পাইথন প্রোগ্রাম: ক্যারেক্টার স্ট্রিম থেকে প্রথম নন-রিপিটিং ক্যারেক্টার বের করা

  4. পাইথনে স্ট্রিংয়ের প্রথম পুনরাবৃত্ত শব্দ খুঁজে বের করার প্রোগ্রাম