在 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
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西