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

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

输出

6

更新于: 2020年10月5日

208 次浏览

开启你的 职业生涯

完成课程获得认证

立即开始
广告