动态规划 滚动数组减少 空间复杂度

package graph.fenzhi;

public class Divide {
    public static void main(String[] args) {
        Solution solution = new Solution();
        int i = solution.fib(10);
        System.out.println(i);

    }



}


class Solution {

    public int fib(int n) {
        if (n < 2) return n;
//        int a = 1; int b= 0; int c = 0;
//
//        for(int i = 2;i<=n;i++){
//             c = b;
//             b = a;
//             a = b + c ;
//        }
//        return a;

//        int a = 0; int b= 1; int c = 0;
//
//        for(int i = 2;i<=n;i++){
//            c = a ;
//            a = b;
//            b = a + c;
//        }
//        return b;

        // 哪个值是1 表示哪个就是临时变量,最后返回哪个 
        int a = 0; int b= 0; int c = 1;
        for (int i = 2; i <= n; i++) {
            a = b;
            b = c ;
            c = a + b;
        }
        return c;
    }
}
posted @ 2021-08-17 11:09  brady-wang  阅读(59)  评论(0编辑  收藏  举报