滚动数组思想

滚动数组思想

描述

让数组滚动起来,每次使用固定的几个存储空间,来达到节省空间的目的,常用于DP(动态规划)的优化

例子

斐波那契数列:获取第n个斐波那契数列值
<?php
function sequence($n)
{
    $p1 = 1;
    $p2 = 1;

    for ($i = 3;$i <= $n;$i++) {
        $p3 = $p1+$p2;
        $p1 = $p2;
        $p2 = $p3;
    }
    return $p3;
}

该例子中,时间复杂度为O(n),空间复杂度为O(1)。

posted @ 2020-09-22 15:22  Eric-liang  阅读(418)  评论(0)    收藏  举报