Chicagoj
码龄1年
关注
提问 私信
  • 博客:13,067
    13,067
    总访问量
  • 44
    原创
  • 134,598
    排名
  • 136
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河南省
  • 加入CSDN时间: 2023-09-18
博客简介:

2301_79829307的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    410
    当月
    0
个人成就
  • 获得185次点赞
  • 内容获得8次评论
  • 获得101次收藏
创作历程
  • 44篇
    2024年
成就勋章
兴趣领域 设置
  • 编程语言
    javac++
  • 开发工具
    windowsvisual studio
创作活动更多

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

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

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

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

【代码】代码随想录算法训练营第五十天|309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费。
原创
发布博客 2024.05.26 ·
452 阅读 ·
5 点赞 ·
0 评论 ·
8 收藏

代码随想录算法训练营第四十九天|123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV

【代码】代码随想录算法训练营第四十九天|123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV。
原创
发布博客 2024.05.25 ·
251 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营第四十八天|121. 买卖股票的最佳时机 122.买卖股票的最佳时机II

若果第i天不持有股票,则1.第i-1天就不持有股票,则dp[i-1][1];2.第i天卖出股票,所得现金就是prices[i]+d[i-1][0]如果第i天买入股票,则今天所得现金就是dp[i-1][1]-prices[i]与上一题不同的是,dp[i][0],第i天买入股票的情况。dp[i][0]表示第i天持有股票所得最多的现金。
原创
发布博客 2024.05.23 ·
244 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营第四十七天|198.打家劫舍 213.打家劫舍II 337.打家劫舍III

如果不偷当前节点:取左右孩子偷或不偷的最大值,int val2=max(left[0],left[1])+max(right[0],right[1]);如果偷当前节点:左右孩子不偷,int val1=cur->val+left[0]+right[0]但是递推公式dp[i]=max(dp[i-2]+nums[i],dp[i-1]);如果数组只有一个元素,dp[i]=nums[0];偷i:dp[i]=dp[i-2]+nums[i]dp[i]:i以内的房屋,偷的金额最大值。不偷i:dp[i]=dp[i-1];
原创
发布博客 2024.05.22 ·
735 阅读 ·
9 点赞 ·
0 评论 ·
7 收藏

代码随想录算法训练营第四十六天| 139.单词拆分

if[i,j]出现在字典里&&dp[j]为true,那么dp[i]为true。dp[0]=true;dp[i]:字符串长度为i,dp[i]为true;外层背包(字符串),内层物品(字典)
原创
发布博客 2024.05.21 ·
182 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营第四十五天|● 70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数

70. 爬楼梯 (进阶)解题方法1.dp数组及下标含义:dp[i]:爬i阶楼梯有dp[i]种方法2.递推公式:3.初始化dp[0]=1;dp[i]=0;i非04.确定遍历顺序外层背包,内层物品5.打印dp数组Code复杂度时间复杂度O(n*m),m:最多爬m个台阶,n总共有n阶台阶空间复杂度O(n)322. 零钱兑换解题方法1.dp数组及下标含义dp[i]:凑成总金额amount的最少的硬币个数2.确定递推公式:3.初始化:dp[0]=0;
原创
发布博客 2024.05.20 ·
241 阅读 ·
9 点赞 ·
0 评论 ·
3 收藏

代码随想录算法训练营第四十三天| ● 完全背包● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ

完全背包不限制物品个数,背包容量为j,求最大价值动规五部曲:1.dp数组及下标含义2.递推公式3.初始化4.确定遍历顺序:背包、物品的遍历顺序可以颠倒5.打印dp数组518. 零钱兑换 II解题方法1.dp数组及下标的含义:dp[j]:总金额为j的货币组合数为dp[j]2.确定递推公式:3.初始化:dp[0]=1;4.确定遍历顺序:组合数:外层物品内层背包排列数:外层背包内层物品5.打印dp数组Code复杂度。
原创
发布博客 2024.05.19 ·
247 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营第四十二天|1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零

先遍历物品,再遍历背包,且内层for循环倒序遍历。1049. 最后一块石头的重量 II。dp[j]:背包容量为j,最大重量为dp[j]O(n*m),m为石头重量的一半,n为石头块数。dp[j]=0,避免把石头重量的最大值覆盖。5.距离推导dp数组。
原创
发布博客 2024.05.18 ·
203 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营第四十一天| 01背包问题 二维 01背包问题 一维 416. 分割等和子集

当j<weight[0],dp[0][j]=0;当j>=weight[0],dp[0][j]=value[0]dp[i][j]:表示从下标为0-i的物品里任意取,放进容量为j的背包,价值最大。dp[j]表示背包容量为j,最大价值为dp[j]dp[j]表示背包容量为j,最大价值为dp[j]廷尉题目要求“包含正整数”,将数组初始化为0。外层遍历物品,内层遍历背包,且内层是倒序遍历。外层遍历物品,内层遍历背包,且内层倒序遍历。若物品价值为负,dp数组初始化为负无穷。若物品价值>0,dp数组初始化为0。
原创
发布博客 2024.05.17 ·
324 阅读 ·
8 点赞 ·
0 评论 ·
1 收藏

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

【代码】代码随想录算法训练营第四十天| 343. 整数拆分 96.不同的二叉搜索树。
原创
发布博客 2024.05.16 ·
448 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏

代码随想录算法训练营第三十九天| 62.不同路径 63. 不同路径 II

1.确定dp[i][j]及下标的含义:dp[i][j]表示到达目的地的路径数,i表示行,j表示列。2.确定递推公式dp[i][j]=dp[i-1][j]+dp[i][j-1]dp[i][j]表示有dp[i][j]条不同路径。4.确定遍历顺序:从左往右遍历,从上往下遍历。4.确定遍历顺序:从上往下和从左向右遍历。3.dp数组初始化:当行或列不能遇到障碍。3.初始化:第一行和第一列。5.举例推导dp数组。5.举例推导dp数组。
原创
发布博客 2024.05.14 ·
340 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

代码随想录算法训练营第三十八天| 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

2.确定递推公式:dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2])1.确定dp[i]及下标含义:dp[i]表示爬楼梯的方法数,第i层楼梯。5.举例推导dp数组 n=5:1,2,3,5,8,dp[5]=8。2.确定递推公式dp[i]=dp[i-1]+dp[i-2];3.dp数组如何初始化 dp[1]=1;1.确定dp数组及下标含义:到达第i台阶所花费的体力是dp[i]dp[i]表示第i个数的斐波那契数值为dp[i]3.dp数组初始化:dp[0]=0;
原创
发布博客 2024.05.13 ·
306 阅读 ·
7 点赞 ·
0 评论 ·
1 收藏

代码随想录第三十六天738单调递增的数字

解题方法:从前往后遍历,可能需要反复改变str[i]的数值;从后往前遍历,就可以重复利用上次比较得出的结果。如果str[i]
原创
发布博客 2024.05.11 ·
238 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营第三十五天| 435. 无重叠区间 763.划分字母区间 56. 合并区间

再遍历一遍数组,用right和left代表分段的右左区间端点,取right和字母最远的边界的最大值更新right,如果right==i,那就找到了分割点。如果i的左端点>i+1的右端点,把区间的左端点更新为i和i+1左端点的最大值。遍历数组,如果i的右区间大于i-1的左区间,就没有重叠,需要更新左区间。遍历数组,如果i的右区间大于i-1的左区间,就没有重叠,需要更新左区间。先用哈希表遍历一遍数组,同时记录每个字母出现的次数。找到出现过字母的最远边界,该点就是分割点。判断何时更新区间的右端点。
原创
发布博客 2024.05.10 ·
623 阅读 ·
8 点赞 ·
0 评论 ·
8 收藏

代码随想录算法训练营第三十四天| 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

第三种:bill=20,(优先考虑)若five>0&&ten>0,five--,ten--;若five>2,five-=3;三种情况,一种贪心,在bill为20时,有一次贪心选择:优先考虑先找10+5,再考虑找3*5,因为5可以用于bill=10和bill=20两种情况。bill=10,若five>0,five--,ten++;如果气球重叠了,更新i的右边界为i和i-1的右边界的最小值,如果没有,result++。先排身高,再排k,则从后往前插入时,就不需要再考虑身高,k值就插入到和数组下标相同的位置。
原创
发布博客 2024.05.09 ·
332 阅读 ·
8 点赞 ·
0 评论 ·
4 收藏

代码随想录算法训练营第三十三天| 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果

就一直对nums最小的那个正数取反,如果k是奇数,就直接把最小的数取反,如果是偶数,就不动。就一直对nums最小的那个正数取反,如果k是奇数,就直接把最小的数取反,如果是偶数,就不动。如果数组的净增量之和小于0,则无法循环一圈,如果大于0,当cursum<0时,将i+1作为新的起始点。第一次:先把数组按绝对值排序,对小于0的取反,然后k--,直到遍历完数组。第一次:先把数组按绝对值排序,对小于0的取反,然后k--,直到遍历完数组。左孩子>右孩子,所以需要用到右孩子的情况,所以这种情况下,从后往前遍历。
原创
发布博客 2024.05.09 ·
361 阅读 ·
10 点赞 ·
0 评论 ·
3 收藏

代码随想录算法训练营第三十二天| 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II

如果当前最大范围覆盖到数组最后了,就break;如果没有,result++,更新当前范围为下一步范围,更新完之后,如果范围覆盖到数组最后,就break。贪心:以最小的步数,覆盖最大的范围。因此,需要统计当前最大范围和下一步最大范围。可将最终结果拆分成每天的利润相加之和。局部最优,nums[i]的覆盖范围。整体最优,整体覆盖范围能否达到终点。局部最优:每天的正利润。整体最优:正利润之和。贪心贪的是:覆盖范围。如果没有:break。
原创
发布博客 2024.05.07 ·
335 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

代码随想录算法训练营第三十一天| 455.分发饼干 376. 摆动序列53. 最大子序和

当连续和为负数时,会减小nums[i];把result初始值设为最小值,for循环,让count累加,如果count>result,就更新result值,如果count小于0,就把nums[i]做为起始位置。3.在for循环里,只记录prediff的峰值方向是否改变,不纠结值的大小是否改变。另外在for循环里,遍历饼干时,要用if,如果用while,若满足条件,则会一直循环。若先遍历饼干,饼干在for循环会一直做减减操作,导致饼干一直不满足胃口。2.假设最前面有一个和第一个元素相等的元素,假设有一个平坡。
原创
发布博客 2024.05.06 ·
341 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

代码随想录算法训练营第三十天| 51. N皇后

【代码】代码随想录算法训练营第二十七天| 51. N皇后。
原创
发布博客 2024.05.05 ·
201 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营第二十九天| 491.递增子序列 46.全排列47.全排列 II

定义一个bool的used数组,来记录哪些元素已经取过了,避免重复取同一个元素。单层搜索逻辑:注意树层去重,同一父节点下的同层使用过的元素就不能再使用了。题目描述“包含重复数字”“不重复的全排列”,意思是要求去重。不需要设置startIndex来避免相等的元素重复取了。题目要求:“该数组中递增子序列”,所以不能排序。使用bool的used来避免取到值相同的元素。终止条件:当i>=nums.size()时。used来避免树层取到值相同的元素。参数:数组,遍历起始下标。
原创
发布博客 2024.05.04 ·
271 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏
加载更多