Python程式:查詢n個人排成一列,且至少有a個人在前面、最多有b個人在後面的所有可能位置
假設我們有三個數字n、a和b。考慮我們在一隊n個人中。我們不知道自己在隊伍中的位置。但我們知道至少有a個人在我們前面,最多有b個人在我們後面。我們必須找到我們可能的位置數量。
因此,如果輸入類似於n = 10 a = 3 b = 4,則輸出將為5,因為隊伍中有10個人,至少有3個人在前面,最多有4個人在後面。所以我們在任何位置[0, 1, 2, 3, 4]。當我們在位置0時,前面有9個人,後面有0個人,依此類推。
為了解決這個問題,我們將遵循以下步驟:
如果 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))輸入
10, 3, 4
輸出
5
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP