- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 动态规划的实现(二)---LeetCode面试题08.01与17.16
08.01三步问题## 主要思路:假设现在求到i阶阶梯的方法种数dp[i],可以考虑它的上一步,分为三种情况:从i-1阶迈一步到达,i-1阶的方法数dp[i-1]; 从i-2阶一次上2阶到达,方法数dp[i-2]; 从i-3阶一次上3阶到达,方法数dp[i-3]。 因此dp[i]=dp[i-1]+dp[i-2]+dp[i-3]为状态转移方程。class Solution: def waysToStep(self, n: int) -> int: if n<3:
2020-08-18 19:38:45
148
1
原创 动态规划的实现(一)——LeetCode198、53题
动态规划的实现(一)leetcode198题:打家劫舍问题这是一道经典的动态规划问题,当然也可以用别的算法来解决,比如暴力枚举,或者是使用贪心算法来求出最后的结果,但是这些方法都没有动态规划要来的简单,将原问题分为子问题,找到状态转移方程,这里分为两种情况:第i间房屋被偷,那么第i-1间不被偷,此时金额总数为dp[i-2]+nums[i];第i间不被偷,此时金额总数为dp[i-1];两种情况下选择金额的最大值,即所要求的的结果。class Solution {public: int rob(
2020-08-09 20:28:49
133
原创 LeetCode67题——二进制求和
67.二进制求和方法一将a和b两个字符串分别转化为十进制(这里使用a[-i],使其倒序遍历,pow()函数则是求得2的i-1次方),然后相加,把结果存储在x中;m,n=divmod(x,2)函数是m=x/2,n=x%2,然后把余数n倒着串起来,即所要的结果。 class Solution: def addBinary(self, a: str, b: str) -> str: if a=='0' and b=='0': return '0'
2020-08-08 14:44:25
173
原创 LC66题——加一
作为计算机小白的第一篇博客,代表着我要认真学习成长起来了!!!之前本科的时候刷过一段时间的ACM的算法,当时把学校里安排的题目按照顺序也刷了不少,大约刷完了图的那一部分,后面的动态规划以及贪心算法等没有理解掌握,因为准备考研就生疏了,到现在重新提起笔来竟然有点困难。这一次从LeetCode开始刷起,为了以后的工作吧,虽然又回到了完全小白,但是不气馁!!!开通了博客希望我能坚持的下去,无论学到了什么都过来写一写,为自己加油!!! 加一这个操作涉及到的无非是进一与不进一的问题,进一的情况该位直接变为
2020-07-23 21:13:52
137
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人