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

โปรแกรมตรวจสอบเราสามารถไปถึงตำแหน่งซ้ายสุดหรือขวาสุดหรือไม่ใน Python


สมมติว่าเรามีสตริงที่มีตัวอักษรสามประเภท R, B และ dot(.) ที่นี่ R ย่อมาจากตำแหน่งปัจจุบันของเรา B หมายถึงตำแหน่งที่ถูกบล็อก และจุด (.) หมายถึงตำแหน่งว่าง ตอนนี้ในขั้นตอนเดียว เราสามารถย้ายไปยังตำแหน่งที่อยู่ติดกันไปยังตำแหน่งปัจจุบันของเรา ตราบใดที่ยังว่างอยู่ (ว่างเปล่า ). เราต้องตรวจสอบว่าเราสามารถไปถึงตำแหน่งซ้ายสุดหรือตำแหน่งขวาสุดได้

ดังนั้น หากอินพุตเป็น s ="..........R.....BBBB....." ผลลัพธ์จะเป็น True เนื่องจาก R สามารถไปถึงตำแหน่งซ้ายสุดได้เนื่องจาก ไม่มีการปิดกั้น

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

  • r_pos :=ดัชนีของ 'R' ใน s
  • คืนค่า True เมื่อ 'B' ไม่มีอยู่ใน s[จากดัชนี 0 ถึง r_pos-1] หรือ 'B' ไม่อยู่ใน s[fromindex r_pos to end]

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

ตัวอย่าง

class Solution:
   def solve(self, s):
      r_pos = s.find('R')
   return not 'B' in s[:r_pos] or not 'B' in s[r_pos:]
ob = Solution()
s = "...........R.....BBBB....."
print(ob.solve(s))

อินพุต

"...........R.....BBBB....."

ผลลัพธ์

True