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

โปรแกรมหาจำนวนตำแหน่งที่เป็นไปได้ในแถว N คน รู้คนหน้าและหลังใน Python

มีคน n คนในแถว เราอยู่ตำแหน่งไม่ทราบ รู้ว่ามีคนหน้าอย่างน้อย a คน และคนหลังสูงสุด b คน หาจำนวนตำแหน่งที่เป็นไปได้

ตัวอย่าง: n=10, a=3, b=4 → 5 (ตำแหน่ง 0-4)

ขั้นตอน (O(1))

  1. ถ้า a + b < n: ตำแหน่งที่เป็นไปได้ = b + 1
  2. ถ้า a + b >= n: ตำแหน่งที่เป็นไปได้ = n - a

ตัวอย่างโค้ด

def solve(n, a, b):
    if a + b < n:
        return b + 1
    if a + b >= n:
        return n - a

n = 10
a = 3
b = 4
print(solve(n, a, b))  # Output: 5

อินพุต

10, 3, 4

เอาต์พุต

5