มีคน n คนในแถว เราอยู่ตำแหน่งไม่ทราบ รู้ว่ามีคนหน้าอย่างน้อย a คน และคนหลังสูงสุด b คน หาจำนวนตำแหน่งที่เป็นไปได้
ตัวอย่าง: n=10, a=3, b=4 → 5 (ตำแหน่ง 0-4)
ขั้นตอน (O(1))
- ถ้า
a + b < n: ตำแหน่งที่เป็นไปได้ =b + 1 - ถ้า
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