自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-03-04 21:36:49 371

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

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

2024-03-02 22:05:42 426

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

for循环就是遍历集合区间,可以理解一个节点有多少个孩子,这个for循环就执行多少次。,这样就把这棵树全遍历完了,一般来说,搜索叶子节点就是找的其中一个结果了。backtracking这里自己调用自己,实现递归。回溯是递归的副产品,只要有递归就会有回溯。回溯法也可以叫做回溯搜索法,它是一种。,如果想让回溯法高效一些,可以加一些。,但也改不了回溯法就是穷举的本质。回溯法并不是什么高效的算法 =>

2024-03-01 19:23:37 405

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

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

2024-02-29 20:53:18 313

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

利用搜索树的有序性,根据节点与待插入值的大小关系遍历左子树或者右子树,遇到第一个空节点进行插入。

2024-02-29 15:22:19 363

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

牢记二叉搜索树是有序的!

2024-02-23 16:01:15 321

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

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

2024-02-22 14:10:43 323 1

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

层序遍历简单,递归果然难,有的时候分不清什么情况下需要自定义一个新的function,什么时候用一个就可以。最开始因为没有用.copy()导致存进self.result里的路径在回溯的时候被更改了。

2024-02-21 21:02:46 299 1

原创 代码随想录算法训练营第十七天 | 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和

【代码】代码随想录算法训练营第十七天 | 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和。

2024-02-20 19:13:05 364

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

前序求的就是深度,使用后序求的是高度。最前用层序法做过,这次用递归法。

2024-02-19 17:53:35 301 1

原创 代码随想录算法训练营第十五天 | 层序遍历 10题 226.翻转二叉树 101.对称二叉树 2

python collections.deque() 是双端队列,可对队列两端append 和 pop,时间。自下而上的将result改成deque,每次appendleft最后返回再将result改成list。重复弹出并加入左右孩子,队列大小-=1,直到队列大小 == 0后更新记录队列大小。弹出根节点,左右孩子加入队列,记录当前队列大小。弹出一个,加入其左右孩子,队列大小 -=1。题解:用queue的长度找最后一个元素。昨晚上面十个层序遍历现在只会层序了…根节点进入队列,记录队列大小。

2024-02-19 14:34:44 293 1

原创 代码随想录算法训练营第十四天

value+左指针+右指针。

2024-02-18 11:23:53 694 1

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

暴力解法。

2024-01-29 16:10:41 356

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

由于栈结构的特殊性,非常适合做对称匹配类的题目”code 是很好写的,主要是这种思路。

2024-01-27 17:40:13 328 1

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

所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。不像是set 或者map 提供迭代器iterator来遍历所有元素。

2024-01-22 17:27:57 381

原创 代码随想录训练营第九天 | 28. 实现 strStr() 459.重复的子字符串

解决字符串匹配问题:当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配暴力解决O(mn)例:文本串:aabaabaaf模式串:aabaaf从字符串index = 0开始匹配到index= 5时发现 不是f下一步不是从index = 5开始冲头匹配aabaaf,二十congindex = 5开始匹配baaf。

2024-01-20 20:27:28 360

原创 代码随想录算法训练营第八天 | 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字 151.翻转字符串里的单词卡码网:55.右旋转字符串

用双指针从字符串中间开始向两头走,凉凉交换。

2024-01-20 16:23:23 399

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

只能想到暴力解法https://programmercarl.com/0454.%E5%9B%9B%E6%95%B0%E7%9B%B8%E5%8A%A0II.html使用map或者setA B C D四个整数数组,遍历AB,求出所有的a+b值,并用map存储a+b和a+b出现的次数,在遍历 C,D对每一个c+d判断0-(c+d)是否存在了map里总结很巧妙,同时要注意这里需要做一个判断383. 赎金信初步想法magazine的字符转换成map, key是字母,value是该字母在magazin

2024-01-19 20:46:11 334 1

原创 代码随想录算法训练营第六天 | 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

数据量小用数组数据量大用set有key-value pair 用map。

2024-01-16 16:34:13 918 1

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

第一次能自己写出来个中等题,开心!感觉想到双指针可快指针n+1步还挺难的,技巧还是把所有的倒数都置换成正数第一个,方便思考还是要灵活一些,简单题不代表暴力可以解决且时间满足要求继续努力!

2024-01-14 19:16:42 796 1

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

确实是第一次写链表题,没想过要怎么定义节点,怎么链接节点对链表进行操作要判断好遍历指针指向哪一个节点,又是对哪一个节点进行操作用极端情况帮助判断while 的条件是一道需要反复刷的题!递归还需要好好研究一下没有使用双指针结题的习惯,需要强化一下。

2024-01-13 22:30:44 736

原创 代码随想录算法训练营第一天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

双指针的位置要根据题目需求放置,因为非递减的前提,平方之后最大的数一定在两头,所以双指针放置在头尾。同时,题目没有要求在原地进行更改,要灵活的新建数组滑动窗口使用两个指针表示窗口的起始和终点,与双指针不同的是,双指针取得是两个指针所指的元素,但是滑动窗口取的是两个指针中间的所有时间的解释:一些录友会疑惑为什么时间复杂度是O(n)。

2024-01-12 19:17:59 771

原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

明确区间定义:1.2.,不常见# 左闭右闭left = 0# mid已经确定不是target了# 所以mid对应的值不可以在更新的区间内,因此要-1left = mid +1 # 同理else:return midreturn -1# 左闭右开left = 0# mid 明确不是target,因此要从mid-1开始对比,# 又因为右开,right = mid - 1 则mid-1无法被比较# 因此right = mid。

2024-01-11 20:59:42 899

空空如也

空空如也

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

TA关注的人

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