自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 代码随想录训练营总结篇

4:开始刚在每一天的节奏去刷题.遇到简单的题,看下群里的大佬有没有其他的解法,遇到难的题。3:碰到一些比较复杂的问题时需要与人讨论,加了一些代码随想录中的群,发现这里是学习算法。1:刚开始学习了数据结构的时候,碰到一些树图等有点畏难,感觉刷力扣跟是一件恐怖的事情。5:卡哥的视频讲解非常通俗易懂,平时也鼓励我们刷蓝桥杯的题目,可以说是非常用心了。的天堂,大家都在认真的学习算法,体会到算法之美。

2024-02-28 22:56:10 446

原创 代码随想录算法训练营第六十四天|84.柱状图中最大的矩形

/ 这里不是用if,而是不断向右寻找的过程。// 记录每个柱子右边第一个小于该柱子的下标。// 记录左边第一个小于该柱子的下标。

2024-02-28 22:35:24 362

原创 代码随想录算法训练营第六十三天|503.下一个更大元素I 42. 接雨水

/更新result。//栈中存放的是nums中的元素下标。// 记录右边柱子的最高高度。// 记录左边柱子的最高高度。//默认全部初始化为-1。// 第一个柱子和最后一个柱子不接雨水。

2024-02-28 22:33:45 380

原创 代码随想录算法训练营第六十二天|#739. 每日温度 496.下一个更大元素 I

如果当前遍历的元素 大于栈顶元素,表示 栈顶元素的 右边的最大的元素就是 当前遍历的元素,如果栈不空的话,还要考虑新的栈顶与当前元素的大小关系。注意,单调栈里 加入的元素是 下标。所以弹出 栈顶元素,并记录。否则的话,可以直接入栈。

2024-02-28 22:30:28 370

原创 代码随想录算法训练营第六十天天|647. 回文子串 516.最长回文子序列

i--) { // 从后往前遍历 保证情况不漏。// 第i个字符串中回文子串的个数 前i个字符串中回文子串的个数 父问题 子问题。// 判断是否是回文串.如果是需要统计子串的个数。

2024-02-28 22:27:06 338

原创 代码随想录算法训练营第五十八天|392.判断子序列 115.不同的子序列

i++){j++){}else{}else{i++) {i++) {j++) {}else{

2024-02-28 22:24:24 376

原创 代码随想录算法训练营第五十七天|1143.最长公共子序列 1035.不相交的线 53. 最大子序和

/可以注意到,這邊的 i 是從 0 開始,所以會出現和卡哥的C++ code有差異的地方,在一些地方會看到有 i + 1 的偏移。

2024-02-28 22:18:51 359

原创 代码随想录算法训练营第四十六天|392.判断子序列 115. 不同的子序列

i++){j++){}else{}else{i++) {i++) {j++) {}else{

2024-02-28 22:14:21 338

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

dp[0] = 1;i++) {} else {dp[i] = 1;

2024-02-22 22:25:42 323

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

/ 买 如果后面的价格有比当前的价格大.反之不买。// 卖 如果后面的价格有比当前的价格小,反之不卖。

2024-02-03 20:21:30 353

原创 代码随想录算法训练营第四十天|337. 打家劫舍 III

/ 那么两个子结点可以抢,也可以不抢。// 那么两个子结点必然不能抢。// ans[1]表示不能抢当前结点。// ans[0]表示抢当前根结点。// 如果要抢当前结点。// 如果不抢当前结点。

2024-02-03 20:19:32 308

原创 代码随想录算法训练营第三十九天|198. 打家劫舍

return 0;i < N;i++) {

2024-02-03 20:17:34 406

原创 代码随想录算法训练营第三十九天|518. 零钱兑换 II

/ 状态转移方程 f(n) = f[n-1] +// 定义损失函数 定义记忆化存储基本单元。// 初始化 (在未递归之前需要处理)// 边界 (递归过程中需要判断)

2024-02-03 20:15:13 368

原创 代码随想录算法训练营第三十八天|416. 分割等和子集

/ 我们用true表示这个点存在于点集中。// 分割为等和,那么相当于要取同值的一半。// 我们用true表示这个点存在于点集中。//分割为等和,那么相当于要取同值的一半。// 这个dp表示着一开始可以访问的点集。// 这个dp表示着一开始可以访问的点集。// false表示这个点不存在点集中。// 如果为奇数,肯定是没有办法切分。//首先初始集合肯定是s0={0}// 开始利用ai]来进行推导。//注意这里更新的方向。

2024-02-03 18:49:47 386

原创 代码随想录算法训练营第三十七天|62. 不同路径

i < m;i++) {i < n;i++) {i < m;i++) {j < n;j++) {

2024-02-02 22:42:10 365

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

/ 状态转移方程 f(n) = cost[n-1] > cost[n-2]?// 状态转移方程 f(n) = f(n-2)+f(n-1);//状态转移方程 f(n) = f(n-2)+2;// 定义损失函数 定义记忆化存储基本单元。// 定义损失函数 定义记忆化存储基本单元。// 初始化 (在未递归之前需要处理)// 初始化 (在未递归之前需要处理)//初始化 (在未递归之前需要处理)// 边界 (递归过程中需要判断)// 边界 (递归过程中需要判断)//边界 (递归过程中需要判断)

2024-02-02 08:00:00 353

原创 代码随想录算法训练营第三十五天|738. 单调递增的数字

int i = 1;i += 1;i -= 1;++i) {

2024-02-02 07:55:50 403

原创 代码随想录算法训练营第三十四天|763. 划分字母区间

/ 已重叠的区间的最右端点。//不重叠的区间的个数。// 将区间进行排序。

2024-01-31 07:51:06 370

原创 代码随想录算法训练营第三十三天|860. 柠檬水找零

i++) {fiveNum++;continue;} else {} else {tenNum--;fiveNum--;tenNum++;fiveNum--;continue;

2024-01-30 07:51:19 377

原创 代码随想录算法训练营第三十二天|22.买卖股票的最佳时机II

/买 如果后面的价格有比当前的价格大.反之不买。//卖 如果后面的价格有比当前的价格小,反之不卖。22.买卖股票的最佳时机II。

2024-01-28 22:38:47 362

原创 代码随想录算法训练营第三十一天|455.分发饼干 376. 摆动序列

ans.add(i);i++) {j++) {count++;break;if (!

2024-01-26 22:26:26 348

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

/ 检查是否合法,如果合法就继续到下一行。// 尝试着将皇后放置在当前行中的每一列。// 是否在所有n行里都摆放好了皇后?// 如果不合法,就不要把皇后放在这列中 (回溯)// 找到了新的摆放方法。

2024-01-25 07:52:18 380

原创 代码随想录算法训练营第二十九天| 93.复原IP地址

/ 检查是否合法,如果合法就继续到下一行。// 尝试着将皇后放置在当前行中的每一列。// 是否在所有n行里都摆放好了皇后?// 如果不合法,就不要把皇后放在这列中 (回溯)// 找到了新的摆放方法。

2024-01-22 07:21:41 357

原创 代码随想录算法训练营第二十七天| 78.子集| 90.子集II131.分割回文串

/ /注意这里结论1的使用,所以这里要写[i + 1,end)// 如果我是最后一个人,并且没有东西给我选了/ 那么原样返回箱子。int start, /* 第i个人 */// 把当前箱子的状态放到结果中,因为要的是所有的子集。/* 箱子的状态 */// 我还是有宝石可以选择的。// 将box状态添加到答案中。

2024-01-21 21:33:29 315

原创 代码随想录算法训练营第二十六天|39. 组合总和 40.组合总和II 131.分割回文串

return res;return;// if (!if (!// }return;i++) {return sum;if (!} else {i++) {= 0) {i++) {return res;i++) {i++) {return res;return res;return;if (!return;i++) {if (!} else {

2024-01-21 21:28:37 347

原创 代码随想录算法训练营第二十五天| 216. 组合总和 III 17.电话号码的字母组合

/ 把自己的宝石拿出来,然后保持箱子原样!// 如果发现越界,第N个人开始就没有宝石选项了。// 遍历第i个人可以选择的宝石。// 如果我们发现状态满足要求。

2024-01-21 08:45:59 378

原创 代码随想录算法训练营第二十五天|216.组合总和III 17.电话号码的字母组合

/ 把自己的宝石拿出来,然后保持箱子原样!// 如果发现越界,第N个人开始就没有宝石选项了。// 遍历第i个人可以选择的宝石。// 如果我们发现状态满足要求。

2024-01-20 23:13:12 377

原创 代码随想录算法训练营第二十四天| 77. 组合

return;return;i <= n;i++) {if (!

2024-01-20 21:15:55 433

原创 代码随想录算法训练营第二十一天|669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树

/case 4.case4又分为4种小情况,最后一种可以被合并掉。// 当前树只有一个结点,那么直接返回null。// 那么需要从左子树中找个较大的值。//那么需要从右子树中找个较小的值。// 当前结点还有左子树。// 当前结点还有右子树。//所以这里只处理了三种。

2024-01-14 21:53:17 395

原创 代码随想录算法训练营第二十二天|236. 二叉树的最近公共祖先701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点

/如果左边有一个,右边有一个,那么当前root就是最低公共祖先。// / 并且我等于其中某一个结点plq1。// /那么当前root就是最低公共祖先。//返回值为以root为根的子树,统计里面的p,q结点的个数。// /如果左边找到一个,或者右边找到一个。//利用子结点返回的信息来进行处理。//查看子结点的梳计个数。

2024-01-14 21:51:29 395

原创 代码随想录算法训练营第二十一天| 530.二叉搜索树的最小绝对差.501.二叉搜索树中的众数 236. 二叉树的最近公共祖先

return 0;i++) {return;i++) {if (!} else {time++;i++) {return res;return;

2024-01-14 21:47:05 401

原创 代码随想录算法训练营第十八天|654.最大二叉树 617.合并二叉树.700.二叉搜索树中的搜索.98.验证二叉搜索树

i

2024-01-14 21:40:28 354

原创 代码随想录算法训练营第十七天| 513.找树左下角的值 112. 路径总和 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树

/左递归,分解成子问题,每次递归去除根节点,保留左子树的节点。//右递归,分解成子问题,每次递归去除根节点,保留右子树的节点。

2024-01-13 22:09:05 340

原创 代码随想录算法训练营第十六天|110.平衡二叉树 (优先掌握递归) 257. 二叉树的所有路径 (优先掌握递归) 404.左叶子之和 (优先掌握递归)

117.填充每个节点的下一个右侧节点指针II。116.填充每个节点的下一个右侧节点指针。

2024-01-09 08:00:35 305

原创 代码随想录算法训练营第十五天| 104. 二叉树的最大深度 111. 二叉树的最小深度 222. 完全二叉树的节点个数

515. 在每个树行中找最大值。429.N叉树的层序遍历。

2024-01-09 07:21:22 356

原创 代码随想录算法训练营第十四天| 102.二叉树的层序遍历、107.二叉树的层次遍历 II、94. 二叉树的中序遍历 199.二叉树的右视图 637.二叉树的层平均值 429. N 叉树的层序遍历

637.二叉树的层平均值。429.N叉树的层序遍历。

2024-01-09 07:18:46 319

原创 代码随想录算法训练营第十三天| 144. 二叉树的前序遍历、145. 二叉树的后序遍历、94. 二叉树的中序遍历

/第一次走到t结点,不能放到ans中,因为t的右子树还没有遍历。//因为已经遍历了当前结点,所以需要更新pre结点pre。//当t.right== pre时,说明右子树已经被打印过了。//因为在迭代时,根结点需要遍历两次,这里需要判断一下。///如果要遍历当前结点,需要确保右子树已经遍历完毕。//如果当前结点右子树为空,那么右子树没有遍历的必要。///右子树已经遍历完毕,放到ans中。//需要将t结点的右子树遍历。//如果栈中还有元素,或者当前结点t非空。//需要将当前结点放到ans中。

2024-01-08 22:15:36 374

原创 代码随想录算法训练营第十二天| 239. 滑动窗口最大值、347.前 K 个高频元素

/ / 那么这个时候,还不能去取最大值。// 将ans转换成为数组返回!

2024-01-07 17:00:14 321

原创 代码随想录算法训练营第十一天| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值

throw new RuntimeException("被除数不能为0");throw new RuntimeException("被除数不能为0");

2024-01-06 17:34:59 359

原创 代码随想录算法训练营第十天 |232. 用栈实现队列 、225. 用队列实现栈

if (!return -1;if (!return -1;if (!return -1;if (!return -1;

2024-01-05 08:03:04 335

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除