![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
动态规划
dp
CervoLu
这个作者很懒,什么都没留下…
展开
-
70 746爬楼梯
两题都是基础dp题#include<iostream>#include<vector>using namespace std;class Solution {public: int climbStairs(int n) { if (n == 1)return 1; if (n == 2)return 2; vector<int>dp(n + 1); dp[1] = 1; dp[2] = 2;原创 2022-03-27 11:27:54 · 42 阅读 · 0 评论 -
509 1137斐波那契数列
第一题,常规斐波那契数列,学到了很多东西,书上的递归其实是一种效率很低的做法,因为他重复计算了很多子问题,所以用自顶向下的备忘录法或者自底向上的动态规划法效果更好。#include<iostream>#include<vector>using namespace std; class Solution {//传统递归,耗时大public: int fib(int n) { if (n == 0)return 0; else if (原创 2022-03-21 22:53:31 · 211 阅读 · 0 评论 -
5最长回文子串
方法一:暴力枚举枚举所有的子串,判断是不是回文子串方法二:中心扩展思想我自己的方法类似于这个方法,分子串长度是奇数和偶数两种情况讨论方法三:动态规划题解的思路,因为回文字符串去掉两边之后仍然是回文字符串,所以具有可以用dp的性质。但其实这道题目用dp复杂度比方法二高。#include<iostream>#include<string>#include<vector>using namespace std;//自己写的,用双指针,分长度为奇数和偶数分开讨原创 2021-10-23 09:43:15 · 86 阅读 · 0 评论