![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣
dg1011
这个作者很懒,什么都没留下…
展开
-
一维动态规划中的一些思考
动态规划的主要解题步骤分为三步: a.定义子问题(将固定值改成随意值) b. 定义状态数组(数组中的每一个位置代表的意义,数组中的值代表的意义) c. 定义状态转移方程(确定当前值与前面值的关系) 个人感觉能不能想到用动态规划解题,真的是随缘 哈哈哈哈 这篇文章主要看三个问题: 排列数 ——假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 解:这个题一看,动态规划很简单。 边界问题: dp[0] = 1原创 2021-06-10 20:14:48 · 130 阅读 · 0 评论 -
力扣题1202
力扣题1202 题目描述: 实现如下: class Solution: def smallestStringWithSwaps(self, s: str, pairs: list[list[int]]) -> str: # 初步思路 因为s都是由小写字母组成的 要想最后的字符串最小 # 就应该要比较小的字母往前排即可 从a开始 若字符串中存在a 就尽量使得a往前排(通过pairs可以知道最前可以往哪里排) # 然后排b 就这样循原创 2021-01-11 23:39:37 · 83 阅读 · 2 评论