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

โปรแกรมค้นหาความยาวของสตริงย่อยด้วยอักขระทั่วไปที่ต่อเนื่องกันใน Python


สมมติว่าเรามีสตริง s เราต้องหาความยาวของสตริงย่อยที่ยาวที่สุดด้วยอักขระเดียวกัน

ดังนั้น หากอินพุตเป็นเหมือน "abbbaccabbbba" ผลลัพธ์จะเป็น 4 เนื่องจากมีสี่ตัวต่อเนื่องกัน

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

  • ถ้าขนาดของ s เป็น 0 แล้ว
    • คืน 0
  • s :=s เชื่อมช่องว่าง
  • ct:=1, tem:=1
  • สำหรับฉันในช่วง 0 ถึงขนาด s -2 ทำ
    • ถ้า s[i] เหมือนกับ s[i+1] แล้ว
      • tem :=tem + 1
    • มิฉะนั้น
      • ct:=สูงสุด tem และ ct
      • tem:=1
  • คืนสินค้า

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

class Solution:
   def solve(self, s):
      if len(s)==0:
         return 0
      s+=' '
      ct=1
      tem=1
      for i in range(len(s)-1):
         if s[i]==s[i+1]:
            tem+=1
         else:
            ct=max(tem,ct)
            tem=1
      return ct
ob = Solution()
print(ob.solve("abbbaccabbbba"))

อินพุต

"abbbaccabbbba"

ผลลัพธ์

4