爬塔问题

t2.PNG
def min_time(n,heights):
    """一个位置对应三种状态"""
    states = []
    #初始化
    for i in range(n):
        temp = [0] * 3
        states.append(temp)
    #计算各状态的对应值
    states[0][0] = heights[0]
    states[0][1] = 0
    states[0][2] = 0
    #先跳,后爬
    states[1][0] = heights[1]
    #先爬,后跳
    states[1][1] = heights[0]
    #一次性跳两楼
    states[1][2] = 0
    for i in range(2,n):
        states[i][0] = min(states[i-1])+heights[i]
        states[i][1] = states[i-1][0]
        states[i][2] = states[i-1][1]
    print(states)
    return min(states[n-1])
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容