分享

动态规划2018-8-30

 木俊 2018-08-30
 
 #
def rec_opt(arr,i):
    if i==0:
        return arr[0]
    elif i==1:
        return arr[1]
    else:
        A=rec_opt(arr,i-2)+arr[i]
        B=rec_opt(arr,i-1)
        return max(A,B)
    
arr=[3,5,7,3,8,4,2,8]
max1=rec_opt(arr,7)
print(max1)   #26
#############################
import numpy as np
def rec_opt(arr):
    opt=np.zeros(len(arr))
    opt[0]=arr[0]
    opt[1]=arr[1]
    for i in range(2,len(arr)):
        A=opt[i-2]+arr[i]
        B=opt[i-1]
        opt[i]=max(A,B)
    return opt[len(arr)-1]
   
arr=[3,5,7,3,8,4,2,8]
max1=rec_opt(arr)
print(max1)   #26

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多