在Python中查找一个列表的最大第k个索引值的程序
假设我们有三个值n、total和k。现在考虑一个大小为n的列表,其总和与total相同,并且任何两个连续元素之间的绝对差最多为1。我们必须在这样的列表的索引k处找到最大值。
因此,如果输入类似于n=5total=15k=3,那么输出将为4,因为一个可能的列表类似于[3,2,3,4,3],在索引3处找到的最大元素是4。
示例
让我们看看以下实现以获得更好的理解-
def solve(n, total, k):
x = 0
while 1:
a = k + 1
s = (x + x - a + 1) * a //2
a = n - k
s += (x + x - a + 1) * a //2
s -= x
if s > total:
break
x += 1
return x - 1
n = 5
total = 15
k = 3
print(solve(n, total, k))输入
5, 15, 3输出结果
4
热门推荐
3 修祖屋祝福语简短
10 公司28 周年祝福语简短
11 怀念青春祝福语简短
12 春节后的祝福语简短
13 对疫情的简短祝福语
14 结婚对白誓言简短祝福语
15 娶嫂子的祝福语简短
16 新春进门祝福语大全简短
17 爱情祝福语大全 简短实际
18 祝贺开业文案祝福语简短