Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมค้นหาดัชนีของ Recurring Character ตัวแรกในสตริงที่กำหนดใน Python


สมมติว่าเรามีสตริง s เราต้องหาดัชนีของอักขระที่เกิดซ้ำตัวแรกในนั้น หากเราไม่พบอักขระที่เกิดซ้ำ ให้คืนค่า -1

ดังนั้น หากอินพุตเป็นเหมือน "abcade" เอาต์พุตจะเป็น 3 เนื่องจาก 'a' จะแสดงอีกครั้งที่ดัชนี 3

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • กำหนดตัวอักษรแผนที่
  • สำหรับฉันในช่วง 0 ถึงขนาดของ s ทำ
    • ถ้า s[i] เป็นตัวอักษร แล้ว
      • คืนฉัน
    • มิฉะนั้น
      • ตัวอักษร[s[i]] :=ตัวอักษร[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