qq_44884699
码龄6年
关注
提问 私信
  • 博客:25,652
    25,652
    总访问量
  • 53
    原创
  • 188,189
    排名
  • 311
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:云南省
  • 加入CSDN时间: 2019-04-07
博客简介:

qq_44884699的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    484
    当月
    0
个人成就
  • 获得409次点赞
  • 内容获得18次评论
  • 获得346次收藏
创作历程
  • 53篇
    2024年
成就勋章
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

代码随想录总结

而对于难题,我会尝试着画图,将复杂的问题拆解,一步步推导。6: 经过这两个月的坚持,我已经掌握了数组、字符串、队列、链表、栈、二叉树、回溯、贪心和动态规划等内容。除此之外,他还经常鼓励我们刷蓝桥杯的题目,这表现出了他对我们学习的关心与支持。1: 刚开始学习数据结构时,我发现涉及树和图等内容的学习有些吃力,甚至觉得解LeetCode题目是一件相当艰巨的任务。3: 为了更好地提升自己的学习效果,我主动参与讨论,写总结,这让我更对题解有了更深的认识。
原创
发布博客 2024.04.01 ·
378 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day60 ||leetCode 84.柱状图中最大的矩形

这题和接雨水的题有些像,只不过此处使用的是递增栈,因为矩形的面积想要增加宽度时,需要考虑两边最低的矩形,而为了让所有数据都参加运算,需要前后补0,来弹出栈里所有元素。84.柱状图中最大的矩形。84.柱状图中最大的矩形。
原创
发布博客 2024.03.28 ·
436 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day59 ||leetCode 503.下一个更大元素II || 42. 接雨水

保持一个单调递减栈,当新来元素大于栈头元素时,便会出现两边大,中间小的凹槽。然后一直弹出栈头元素,直到不满足为止,这时候再将新元素入栈。主体代码与上一题一样,增添一个取余的操作来实现拼接数组的效果。503.下一个更大元素II。503.下一个更大元素II。
原创
发布博客 2024.03.26 ·
307 阅读 ·
1 点赞 ·
2 评论 ·
0 收藏

代码随想录算法训练营Day58 ||leetCode 739. 每日温度 || 496.下一个更大元素 I

因为nums1是nums2的子集,所以将num1哈希一下,然后把nums2按照上面单调栈的情况处理,只不过每一步需要判断一下,当遇到更大的值时,st.top()是否在哈希表中出现过。出现的话就保存结果。将每个温度对应的下标入栈,当遇到更大的值以后,将result[st.top()]=i-st.top(),循环执行,直到在再没有更小的值。496.下一个更大元素 I。
原创
发布博客 2024.03.25 ·
353 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day57 ||leetCode 583. 两个字符串的删除操作 || 72. 编辑距离

如果不相等,dp[i][j]一定是取最大的,即:dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]);如果s[i]与s[j]相同,那么dp[i][j] = dp[i + 1][j - 1] + 2;dp[i][j]表示第i位开始,第j位结束的字符串是否为回文串。516.最长回文子序列。
原创
发布博客 2024.03.24 ·
424 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day55 ||leetCode 583. 两个字符串的删除操作 || 72. 编辑距离

如果不同,则需要增删改的操作,而增和删本质是等效的,对一个字符串删等于对另一个字符串加,所以取dp[i-1][j]和dp[i][j-1]的最小值+1。改的话则是dp[i-1][j-1]+1;如果第i位与第j位相同,那本次可以不用操作,dp[i][j]=dp[i-1][j-1]583. 两个字符串的删除操作。583. 两个字符串的删除操作。这道题的状态方程比上一题简单一些。
原创
发布博客 2024.03.23 ·
547 阅读 ·
8 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day54 ||leetCode 392.判断子序列 || 115.不同的子序列

这道题初始化与状态方程都不好想,建议多看解析。双指针遍历,比较简单易懂。115.不同的子序列。
原创
发布博客 2024.03.22 ·
385 阅读 ·
10 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day53 ||leetCode 1143.最长公共子序列 || 1035.不相交的线 || 53. 最大子序和动态规划

每一位的dp[i]有两个来源,分别是dp[i-1]+nums[i]和nums[i]的最大值,因此代码就好写很多。本质上是在求两个序列的最长子串的长度,如下图所示。所以代码和上一题一样,直接复制粘贴就好。这道题的难点在于递推条件的设置。53. 最大子序和 动态规划。1143.最长公共子序列。1143.最长公共子序列。1035.不相交的线。这道题难以抽象为常见题目。
原创
发布博客 2024.03.21 ·
380 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day52 ||leetCode 300.最长递增子序列 || 674. 最长连续递增序列 || 718. 最长重复子数组

674. 最长连续递增序列。718. 最长重复子数组。300.最长递增子序列。
原创
发布博客 2024.03.20 ·
362 阅读 ·
5 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day51 ||leetCode 309.最佳买卖股票时机含冷冻期 || 714.买卖股票的最佳时机含手续费

309.最佳买卖股票时机含冷冻期。714.买卖股票的最佳时机含手续费。本质和122题一样,多加手续费而已。
原创
发布博客 2024.03.20 ·
417 阅读 ·
8 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day50 ||leetCode 123.买卖股票的最佳时机III || 188.买卖股票的最佳时机IV

做完上一道题后,这道题的思路就有了,只需要把数组宽度调整为2k+1列即可,然后将本次操作与上一次操作对应即可。剩下的就是找最小的购买价格与最大的出售价格。因为股票可以买卖两次,dp数组可以这样写。123.买卖股票的最佳时机III。123.买卖股票的最佳时机III。188.买卖股票的最佳时机IV。
原创
发布博客 2024.03.18 ·
499 阅读 ·
10 点赞 ·
0 评论 ·
10 收藏

代码随想录算法训练营Day48 ||leetCode 121. 买卖股票的最佳时机 || 122.买卖股票的最佳时机II

和之前打家劫舍一样,设立两个元素,一个为买股票以后,自己手头的钱,第二是卖了以后,自己手头的钱。因为我们初始积蓄为0,买完以后就会是负数。所以要选最大的负数,对应了最便宜的股票。之后要找最大的股价来卖出,这样得到最高的利润。因为可以多次购买,所以持有股票时的最少钱不再是固定的-prices[i],而是。122.买卖股票的最佳时机II。121. 买卖股票的最佳时机。
原创
发布博客 2024.03.16 ·
468 阅读 ·
9 点赞 ·
0 评论 ·
10 收藏

代码随想录算法训练营Day47 ||leetCode 198.打家劫舍 || 213.打家劫舍II || 337.打家劫舍III

设置一个数组,记录当前位置元素的两个值,一个是偷左右节点不偷自己,一个是偷自己,不偷节点,然后使用回溯,遍历所有节点。因为首尾相连,最简单的处理方法就是分两次,一次包含头元素,一次包含尾元素。写成状态方程就会了,每一时刻的状态取决于前两次的状态。213.打家劫舍II。337.打家劫舍III。
原创
发布博客 2024.03.16 ·
494 阅读 ·
8 点赞 ·
0 评论 ·
6 收藏

代码随想录算法训练营Day46 ||leetCode 139.单词拆分 || 322. 零钱兑换 || 279.完全平方数

解决方法,0-1背包多加一个遍历即可。关于多重背包,你该了解这些!
原创
发布博客 2024.03.13 ·
521 阅读 ·
6 点赞 ·
0 评论 ·
11 收藏

代码随想录算法训练营Day45 ||leetCode 70. 爬楼梯 (进阶)|| 322. 零钱兑换 || 279.完全平方数

和上一道题代码相似,不过这里不存在错误值,因为任何数都可以用1来组成,所以一定有解。本质上和leetcode377一样。
原创
发布博客 2024.03.13 ·
569 阅读 ·
8 点赞 ·
0 评论 ·
7 收藏

代码随想录算法训练营Day44 ||leetCode 完全背包 || 518. 零钱兑换 II || 377. 组合总和 Ⅳ

此处涉及到排列情况,需要先遍历大小,再遍历容量。遍历硬币和金额,累加所有可能。518. 零钱兑换 II。377. 组合总和 Ⅳ。
原创
发布博客 2024.03.13 ·
549 阅读 ·
8 点赞 ·
0 评论 ·
11 收藏

代码随想录算法训练营Day43 ||leetCode 1049. 最后一块石头的重量 II || 494. 目标和 || 474.一和零

大家看到(target + sum) / 2 应该担心计算的过程中向下取整有没有影响。求解在一半容量的情况下,最多能装多重的石头。假设正数的总和为x,那么负数对应的正数,其对应的总和就是sum - x。所以我们要求的是 x - (sum - x) = target。这里的x,就是bagSize,也就是我们后面要求的背包容量。读取每个字符串中01个数,然后在二维DP数组中更新。1049. 最后一块石头的重量 II。1049. 最后一块石头的重量 II。416. 分割等和子集。
原创
发布博客 2024.03.11 ·
515 阅读 ·
9 点赞 ·
0 评论 ·
8 收藏

代码随想录算法训练营Day41 ||leetCode 0-1背包问题 || 416. 分割等和子集

所以递归公式: dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);将sum/2看作背包容量,每一个数看作重量,进行遍历。如果背包恰好能装满,说明存在一个子集和为sum/2。dp[i][j]的含义:从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。二维数组简化为一维,注意背包从大到小遍历,避免重复放入第一个物品。那么可以有两个方向推出来dp[i][j],416. 分割等和子集。
原创
发布博客 2024.03.10 ·
550 阅读 ·
9 点赞 ·
0 评论 ·
9 收藏

代码随想录算法训练营Day40 ||leetCode 343. 整数拆分 || 96.不同的二叉搜索树

最关键的递推公式其中要注意循环方式要从大到小,避免物体重复放入。
原创
发布博客 2024.03.10 ·
547 阅读 ·
10 点赞 ·
0 评论 ·
5 收藏

代码随想录算法训练营Day39 || leetCode 762.不同路径 || 63. 不同路径 II

将障碍物及其后方的地方,dp数组初始记为0,代表这些地方无法路过。每一位的结果等于上方与左侧结果和。63. 不同路径 II。
原创
发布博客 2024.03.10 ·
900 阅读 ·
10 点赞 ·
0 评论 ·
4 收藏
加载更多