在 Python 生成的数组中查找最大值的程序
假设我们有一个数字 n。我们必须以下列方式生成一个长度为 n + 1 的数组 A -
A[0] = 0
A[1] = 1
A[2 * i] = A[i] 如果 2 <= 2 * i <= n
A[2 * i + 1] = A[i] + A[i + 1] 如果 2 <= 2 * i + 1 <= n
最后,我们必须找到数组 nums 中的最大数字。
因此,如果输入类似于 n = 5,那么输出将为 3,因为
A[0] = 0
A[1] = 1
A[2] = A[1] = 1
A[3] = A[1] + A[2] = 1 + 1 = 2
A[4] = A[2]= 1
A[5] = A[2] + A[3] = 1 + 2 = 3
A[6] = A[3] = 2
所以最大值是 3
示例(Python)
让我们看看以下实现以获得更好的理解 -
def solve(n):A = list(range(0,n+1))
for i in A:
if i == 0 or i == 1:
continue
elif i%2 == 0:
A[i] = A[i//2]
else:
A[i] = A[i//2] + A[(i//2) + 1]
return max(A)
n = 5
print(solve(n))
输入
5输出结果
3
以上是 在 Python 生成的数组中查找最大值的程序 的全部内容, 来源链接: utcz.com/z/350473.html