自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿月的博客

从12·13开始跟随代码随想录算法训练营练习算法题目,留下学习的痕迹。

  • 博客(18)
  • 收藏
  • 关注

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

给你一个的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的 所有,并以列表形式返回。你可以按返回这些组合。candidates中的数字可以。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为target的不同组合数少于150个。

2024-01-10 22:14:55 388 1

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

找出所有相加之和为n的k返回所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。参数:n,k 返回:列表终止条件:设置一个原始列表,包含所有的数字,当这个列表的个数小于k,返回result单层递归逻辑:for循环对于for循环中取值的优化还是有点懵。

2024-01-06 23:41:35 424 1

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

第一次做肯定是没有思路的。跟着视频和参考的代码看下来,还是递归三部曲,重要的是参数变多了,需要分清楚各自的作用。startIndex:第一层里包含的起始数。result:接受最终结果。k:组合包含的元素的个数。

2024-01-05 20:24:43 345 1

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

感觉不是很理解,大概的核心思想是,找一个叶子结点,只要满足插入后还是一个二叉树,就可以。二叉搜索树的特点是有顺序,所以直接看当前的结点和p,q的大小。一共三种情况,比p,q都小【看右子树】,都大【看左子树】,在二者之间【返回当前结点】。中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(对应的节点,并保证二叉搜索树的性质不变。重要的是删除之后,需要重新排列二叉树的结点,使得其还是二叉搜索树。,删除二叉搜索树中的。

2024-01-03 23:29:31 369 1

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

给你一个二叉搜索树的根节点root,返回。差值是一个正数,其数值等于两值之差的绝对值。利用的是双指针,中序遍历的方式。1、先创建pre,result2、构建递归函数:参数:二叉搜索树root;返回值:int,即最小值;终止条件:cur指向空;单层递归逻辑:左中右的顺序,在中间结点这里选出最小值。最后调用递归函数。@783题:给你一个二叉搜索树的根节点root,返回。差值是一个正数,其数值等于两值之差的绝对值。一模一样。

2024-01-02 22:12:07 367

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

654.最大二叉树。

2024-01-01 22:18:07 325

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

一共12道题目,花了2天时间看完。昨晚整个人已经有些混乱了,一刷属于看得懂,但是写完之后不知道自己留下些什么,生怕下次再见完全不懂。写博客也是为了方便自己回顾。以前比较害怕递归,但是这两天看了递归、迭代、层序遍历,感觉都还行,属于一个难度。我对于这三者的记忆主要是如下特点:递归:记住三部曲,定义的函数会在后面调用迭代:借助栈层序遍历:借助队列。

2023-12-30 17:57:55 913 1

原创 代码随想录算法训练营第十四天 | 二叉树part1:理论基础,递归遍历,迭代遍历,统一迭代

二叉树part1:理论基础、递归遍历、迭代遍历、统一迭代、前序、中序、后序遍历

2023-12-29 15:30:29 387 1

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

之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。输入:tokens = ["10","6","9","3","+","-11","*","/","*","17","+","5","+"]给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。输入:tokens = ["4","13","5","/","+"]输入:tokens = ["2","1","+","3","*"]返回一个表示表达式值的整数。

2023-12-24 20:56:58 356 1

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

你 只能 使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。你可以使用 list (列表)或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。int top() 返回栈顶元素。

2023-12-23 01:15:38 939 1

原创 代码随想录算法训练营第九天 | 28. 实现 strStr(),459.重复的子字符串,字符串总结,双指针回顾

2、最近渐渐发现,和C++/Java相比,python的库函数居多,但是不要因为用库函数很快做出来就沾沾自喜,这不是学习算法的上策。最近需要抽个时间重新把这几道题用双指针的方法再做一遍,届时再来更新。总结:今日效果不佳,但是也明晰了重点,争取明日补回来。,检查是否可以通过由它的一个子串重复多次构成。没有思路,也还没找到能看得懂的方式,明日再战!字符串的第一个匹配项的下标(下标从。1、利用双指针的时候居多。第一个匹配项的下标是。给定一个非空的字符串。

2023-12-21 23:32:06 342

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

今天的题目还算友好,一方面因为字符串目前在我接触和感受的范围里,相对比较容易学习,另一方面,之前练题做了很多字符串的题目。但是,要在熟练简单做法的基础上,看看有没有之前没有用过或没学会的地方。同时,一些细节的地方还需精进,例如列表和字符串的转换,今天又熟练了一点点。每天进步一点点,加油。t=N7T8python版本本题讲解https://www.bilibili.com/video/BV1MA4y1D76y/?

2023-12-20 23:46:29 766

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

哈希表到此就告一段落了。我学到了数组、集合、字典的使用,同时结合画图、双指针,对于这类题有了一定了解,但是实事求是,我现在也不算完全弄懂,我不知道是为了要把每天的题做完而没有精力学的再透彻一点,还是安慰自己说学习需要循序渐进,还是赤裸裸的说我没有拼尽全力去学习,或许三者兼而有之。但是,进一寸有一寸的欢喜,希望学习的热情永不消退,那样,再远的路也一定会达到。毕竟,都已经7天了,虽然艰难,但我仍然乐此不疲。

2023-12-20 16:00:43 867

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

一共四道题目,分别用了数组,集合和字典映射的功能,对于哈希表的认知又加深了一步。希望下次遇到第一题,可以非常顺滑地写出字典这一套,就算是进步了。

2023-12-18 23:42:05 968 1

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

四道题目:1、链表中的结点两两交换;2、删除倒数第N个结点;3、链表相交于一点;4、环形链表。

2023-12-16 20:27:25 744

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

对于链表完全陌生,但是看题目又觉得和数组一样的链表理论基础Q:什么是链表?A:链表是由一系列结点组成的。203.移除链表元素。

2023-12-15 22:58:06 874

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

力扣-数组

2023-12-15 14:56:27 781

原创 代码随想录算法训练营第一天 | 数组理论基础,704. 二分查找,27. 移除元素

我发现自己做题还是有点急功近利,只想尽快把题目做完,但其实还需要静下心来,理解做题的思路,争取做到遇到一个题目,能有相应的归类意识,用已经掌握的知识去应对,这还需要慢慢养成做题的思路,归纳大概的模板。今天是第一天做题,还属于吃老本的情况,我指的是没有那种拿到新题从头思考的过程,以及还需要看一下拓展题。明天继续加油!

2023-12-13 23:23:27 425 1

空空如也

空空如也

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

TA关注的人

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