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

โปรแกรมหาจำนวนตำแหน่งที่เป็นไปได้ในบรรทัดใน Python


สมมติว่าเรามีตัวเลข n และ p และ q สมมติว่าเรากำลังยืนอยู่ในแถวของคนจำนวน n คน เราไม่รู้ว่าเราอยู่ในตำแหน่งไหน แต่เรารู้ว่ามีคนอย่างน้อย p ข้างหน้าเรา และมากที่สุด q คนข้างหลังเรา เราต้องหาจำนวนตำแหน่งที่เป็นไปได้ที่เราสามารถทำได้

ดังนั้น หากอินพุตเป็น n =10, p =3, q ​​=4 เอาต์พุตจะเป็น 5 เนื่องจากมีคน 10 คนและอย่างน้อย 3 คนอยู่ข้างหน้าและไม่เกิน 4 คนอยู่ด้านหลัง ดังนั้นเราจึงสามารถยืนที่ดัชนี [0, 1, 2, 3, 4] เช่น ที่ดัชนี 0, 9 คนอยู่ข้างหน้า 0 คนอยู่ข้างหลัง

วิธีแก้ปัญหานั้นง่าย เราจะคืนค่าขั้นต่ำของ q+1 และ n-p

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

ตัวอย่าง

class Solution:
   def solve(self, n, p, q):
      return min(q+1, n-p)
ob = Solution()
print(ob.solve(n = 10, p = 2, q = 5))

อินพุต

10, 2, 5

ผลลัพธ์

6