栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

365天挑战LeetCode1000题——Day 006 动态规划 06

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

365天挑战LeetCode1000题——Day 006 动态规划 06

文章目录
  • 前言
  • 1. [杨辉三角](https://leetcode.cn/problems/pascals-triangle/)
    • 1.1 动态规划(二维数组)
  • 2. [杨辉三角 II](https://leetcode.cn/submissions/detail/313513023/)
    • 2.1 动态规划
  • 总结


前言

今天的每日一题太难了,选择性放弃


1. 杨辉三角 1.1 动态规划(二维数组)

很简单,过程略了

class Solution {
public:
    vector> generate(int numRows) {
        vector> ans;
        vector tmp;
        tmp.push_back(1);
        ans.push_back(tmp);
        if (numRows == 1) return ans;
        tmp.push_back(1);
        ans.push_back(tmp);
        if (numRows == 2) return ans;

        for (int i = 3; i <= numRows; i++) {
            vector dp(i);
            dp[0] = 1;
            dp[i - 1] = 1;
            for (int j = 1; j < i - 1; j++) {
                dp[j] = ans[i - 2][j - 1] + ans[i - 2][j];
            }
            ans.push_back(dp);
        }
        return ans;
    }
};
2. 杨辉三角 II 2.1 动态规划

太简单了,过程略了

class Solution {
public:
    vector getRow(int rowIndex) {
        vector dp1;
        dp1.push_back(1);
        if (rowIndex == 0) return dp1;
        dp1.push_back(1);
        if (rowIndex == 1) return dp1;

        for (int i = 3; i <= rowIndex + 1; i++) {
            vector tmp(i);
            tmp[0] = 1;
            tmp[i - 1] = 1;
            for (int j = 1; j < i - 1; j++) {
                tmp[j] = dp1[j] + dp1[j - 1];
            }
            dp1 = tmp;
        }

        return dp1;
    }
};

总结

其实今天还打了LeetCode的双周赛……
因为今天的动态规划两题都很简单,所以想去写下双周赛的前两题,写得很顺畅,然而第三题卡了一个小时,最后写出来了,但是时间超了,唉……
今天太晚了,明天再更新双周赛的几道题吧……

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/890058.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号