美文网首页
动态规划1

动态规划1

作者: Kevifunau | 来源:发表于2019-10-16 22:29 被阅读0次

53. 最大子序和

#define MAX(x,y) (((x) > (y)) ? (x) : (y))
int maxSubArray(int* nums, int numsSize){
    int *dp = (int *)malloc(sizeof(int) * (numsSize + 1)); // 添加dp[0] 为 0  表示初始状态
    memset(dp, 0, sizeof(int) * (numsSize + 1));
    int maxLen = INT_MIN; /* 要设置成最小值 */
    for (int i = 0; i < numsSize; i++) { // 遍历数组 更新 dp 数组
        dp[i + 1] = MAX(dp[i] + nums[i], nums[i]); // 当前数组 i 对应 dp 数组 i+1 (往后挪一格)
        maxLen = (dp[i + 1] > maxLen) ? dp[i + 1] : maxLen;
    }
    free(dp);
    return maxLen;
}

70, 爬楼梯

image.png
int climbStairs(int n)
{
    if (n == 1) {
        return 1;
    }
    if (n ==2) {
        return 2;
    }
    int *dp = (int *)malloc(sizeof(int) * n);
    dp[0] = 1;
    dp[1] = 2;
    for (int i = 2; i < n; i++) {
        dp[i] = dp[i-2] + dp[i-1];
    }
    return dp[n-1];
}

相关文章

  • Algorithm进阶计划 -- 动态规划(上)

    动态规划动态规划的基本原理动态规划的运用 1. 动态规划的基本原理 动态规划(Dynamic Programmi...

  • 斐波那契数列

    递归解法 动态规划解法1 动态规划解法2

  • 4. 动态规划算法

    1. 动态规划算法总结2. 漫画:什么是动态规划?3.算法之动态规划4. 动态规划-算法

  • Dynamic Programming(动态规划)类算法分析随笔

    #动态规划 关于动态规划,先摘一段[wiki][1]的描述: ``` 动态规划(英语:Dynamic progra...

  • 算法3:动态规划

    5.动态规划5.1 什么是动态规划?5.2 自底向上的动态规划:5.3 自顶向下的动态规划5.4 0-1背包问题:...

  • 什么是动态规划

    目录 动态规划解决了什么 什么是动态规划 典型的动态规划 1. 动态规划解决了什么 的思想就是将大问题拆分成小问题...

  • 动态规划1

    53. 最大子序和 70, 爬楼梯

  • 动态规划(1)

    机器人到指定位置方法数 【题目】 假设有排成一行的 N 个位置,记为 1~N,N 一定大于或等于 2。开始时机器人...

  • 动态规划(1)

    什么动态规划 动态规划是一种解决棘手问题的方法,它将问题分成小问题,并着手先解决这些小问题 动态规划的使用场景 g...

  • 337. House Robber III

    key tips 动态规划返回两个状态 algorithm 1 尝试动态规划问题存在子问题结构,首先考虑动态规划在...

网友评论

      本文标题:动态规划1

      本文链接:https://www.haomeiwen.com/subject/otwlmctx.html