自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录训练营第41天| 121. 买卖股票的最佳时机 、 122.买卖股票的最佳时机II

最大盈利之后,再投入购买。

2024-09-23 19:39:59 242

原创 代码随想录训练营第39天|198.打家劫舍、 337.打家劫舍 III

注意:不一定隔一个就要偷。

2024-09-21 14:33:11 251

原创 代码随想录第38天| 322. 零钱兑换 、139.单词拆分

和上楼梯一样,不难想注意这里是min,注意初始化。

2024-09-20 14:00:48 318

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

利用二叉树特性,最近公共祖先,大于其中一个小于其中一个。

2024-09-20 12:51:38 320

原创 代码随想录训练营第37天|518. 零钱兑换 II 377. 组合总和 Ⅳ

和那个目标和一样和走台阶一起理解。

2024-09-19 20:35:00 201

原创 代码随想录第36天|1049. 最后一块石头的重量 II

public://分成两堆,使得两堆的“价值”(重量)尽可能的接近//dp[j]容量为就j的时候价值尽可能的大//一共重量为n,理想情况,一半一半//但是不是,所以在一半容量的情况使得尽可能的大,则使得两边尽可能平衡int sum=0;

2024-09-18 21:09:07 172

原创 代码随想录训练营第35天|01背包

1.dp[i][j]的含义就是背包容量为【j】的情况下【0,i】种物品任意组合的最大价值2.递推公式:①不放i,j容量利用最大化 dp[i-1][j] 背包容量为j的时候,【0,i-1】种物品任意组合的最大价值②放i 取腾出i重量的背包情况下【0,i-1】种物品任意组合的最大价值的最大价值加上i的价值。

2024-09-17 17:31:52 270

原创 代码随想录训练营第34天| 62.不同路径 、63. 不同路径 II

1.利用五步走的方式不难想到dp是二维的,并且表示为到每一个格子的路径主要是初始化,初始化第一排和第一列。

2024-09-16 13:16:10 353

原创 代码随想录训练营第32天|509. 斐波那契数列、 70. 爬楼梯 、 746. 使用最小花费爬楼梯

1.动态规划五步骤。

2024-09-15 20:49:00 267 1

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

树的遍历是从上向下遍历的,从下到上是回溯利用双指针和中序遍历,可以升序遍历二叉搜索树。

2024-09-15 16:03:46 264

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

题目链接/文章讲解:视频讲解:1.中了陷阱:不只是删去节点这么简单,只删去不符合要求的节点。

2024-09-03 10:15:13 405

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

1.这题并不难,和昨天那道题思路差不多,找到根节点,分割数组,递归,返回节点,赋值给节点的左右指针。

2024-08-30 13:42:14 257

原创 代码随想录训练营第16天|513. 找树左下角的值、112.路径之和、106. 从中序与后序遍历序列构造二叉树

1.可以将前序遍历的中的操作放到左和右中2.注意是大于号:depth>maxdepth一次递归一次回溯。

2024-08-29 14:59:31 409

原创 代码随想录第15天|110.平衡二叉树、 257. 二叉树的所有路径 、404.左叶子之和、 222.完全二叉树的节点个数

后序遍历:得到左子树信息,右子树信息,中进行操作赋值给该节点。

2024-08-28 15:09:28 383

原创 代码随想录训练营第十四天| 226.翻转二叉树、 101. 对称二叉树、104.二叉树的最大深度、 111.二叉树的最小深度

一般常使用后序遍历吧。

2024-08-27 16:54:05 374

原创 代码随想录训练营第十三天|理论基础 、144. 二叉树的前序遍历、二叉树的前后序迭代遍历、二叉树的中序迭代遍历、102. 二叉树的层序遍历

1.随想录有一张图描述了刷题的知识点,分类。

2024-08-26 11:10:15 744

原创 代码随想录训练营第11天| 150. 逆波兰表达式求值 、 239. 滑动窗口最大值

1.本题不难,数字入栈(栈为int型),遇到运算符,出栈两个字母,并进行运算,再把结果重新入栈,最后留在栈内的就是结果,注意“-”和“/”是第二个出栈的元素除以第一个出栈的元素2.stoi 函数:将字符串转成 int 整数。stol 函数:将字符串转成 long 整数。stoll 函数:将字符串转成 long long 整数。本题使用的是istringstream3.计算机可以利用栈来顺序处理,不需要考虑优先级了。也不用回退(中缀需要考虑计算的顺序括号等)了,

2024-08-24 11:03:26 1817

原创 代码随想录训练营第十天|栈与队列理论基础、 232.用栈实现队列 、 225. 用队列实现栈 、 20. 有效的括号 、1047. 删除字符串中的所有相邻重复项

栈和队列是STL(C++标准库)里面的两个数据结构。

2024-08-23 12:36:53 854

原创 代码随想录训练营第九天| 151.翻转字符串里的单词、卡码网:55.右旋转字符串

1.翻转字符串,双指针的好题目,一个是用于删除空格,一个是用于反转字符串2.本题需要删除空格,整体反转再局部反转3.删除空格,并每个单词间保存一个空格,使用双指针:一个遍历,一个填充(指向填充的位置),在填充部分可以做到这一点。①单词前插入空格(除了第一个单词)②循环输入一个单词4. 反转字符串,左右双指针,一般左闭右闭完成查找一个单词的边界,反转5.数组下一个插入位置的索引下标,即前面元素的长度。

2024-08-22 10:43:35 504

原创 代码随想录训练营第八天|344. 反转字符串、541. 反转字符串 II、 卡码网:54.替换数字

1.和链表反转一样,双指针法(用于同时操作两个元素)2.左右指针,相互交换直到中间,也可以用while(left<right)

2024-08-21 12:02:06 491

原创 代码随想录训练营第七天| 454.四数相加II 、383. 赎金信、 15. 三数之和、18. 四数之和

哈希表,查找元素,好像一般是两个集合之间,或一个元素,一个集合,如有效字母异味词、二数之和、三数之和如果使用哈希表也是,固定一个,转化为二数之和。

2024-08-20 11:27:06 634

原创 代码随想录训练营第五天|哈希表基础、 242.有效的字母异位词、349. 两个数组的交集 、 202. 快乐数 、 1. 两数之和

1.当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。2.官方解释:哈希表是根据关键码的值而直接进行访问的数据结构。哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素3.时间复杂度从枚举的O(n)到通过索引直接查询的O(1)4.哈希函数:将存放的元素映射到索引上,就可以通过查询索引下标快速判断一个元素是否在集合里。hashcode通过特定编码方式,可以将其他数据格式转化为不同的数值。

2024-08-19 11:31:37 1827

原创 代码随想录训练营第四日|24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点 、面试题 02.07. 链表相交

题目链接/文章讲解/视频讲解:1.这种while的判断语句就看最后一次进入循环的是什么,这里最后进入循环的是偶数:最后两个节点(->next节点存在,->next->next节点存在),奇数不进入循环了(->next->next为空),剩一个节点不访问了。2.弄清楚指针的指向,画个图不容易错,比如cur->next变化了,之后的使用别忘了。

2024-08-17 14:09:12 2002

原创 代码随想录训练营第三天|链表理论基础、203.移除链表元素 、 707.设计链表 206.反转链表

int val;// 节点上存储的元素// 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的构造函数。

2024-08-16 13:59:24 497

原创 代码随想录训练营第二日|209.长度最小的子数组、59.螺旋矩阵II、区间和、总结

方法:二分法,暴力求解,双指针法,滑动窗口法,前缀表法注意:保持循环不变量。

2024-08-15 13:50:21 501

原创 代码随想录训练营第一日|704.二分查找、27.移除元素、977有序数组的平方

1.数组是存放在的的集合2.二维数组也是连续地址3.因为是连续地址,所以进行元素的增加和删除,需要对数组中的元素进行移动,保持数组地址的连续性4.数组的删除是通过覆盖来实现的5.可以通过下标访问数组内的元素,下标从0开始6.要注意vector 和 array的区别,vector的底层实现是array,严格来讲vector是容器,不是数组。

2024-08-14 11:12:36 920

空空如也

空空如也

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

TA关注的人

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