自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

思路总结:这题思路其实跟上面的是一个类型,也是匹配问题。如果相同则证明当前两个元素相邻且相同,此时栈顶元素出栈,当前字符不入栈。思路:栈先入后出特点恰好与本题括号排序特点一致,如果是左括号,先把对应的右括号入栈,遇到右括号,对比栈中的括号是否相同类型,匹配则将括号出栈,如果遍历过程中,遇到空栈或者不匹配返回False。思路 总结:逆波兰表达式又称为后缀表达式,运算符在操作数后面,为计算机这种思维而生。解法比较简单易懂,遇到数字入栈,遇到运算符则取出栈顶两个数字进行计算,再将结果压入栈中。

2024-04-27 22:58:30 164 1

原创 代码随想录算法训练营10day-python|232. 用栈实现队列、225. 用队列实现栈

比如:队列 1 2 3 4进,出应该是 1 2 3 4,但是由于栈是后入先出,出来只能是4 3 2 1,和队列是相反的,所以就再需要一个栈,把4 3 2 1 返成 1 2 3 4。push的操作就是直接入栈,pop出队操作,如果输出栈不为空的话,输出栈顶元素,为空的话就把输入栈的所有元素压入输出栈中,然后再输出栈顶元素。思路:这道题跟上面的思路差不多,建一个主队列,其余操作正常,每次模拟栈弹出元素的时候,将除了最后一个元素外的之前元素弹出队列,重新添加到主队列尾部即可。

2024-04-27 22:02:54 219

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

思路:使用哈希对比,标记两字符串出现的次数,第一个+1,第二-1,如果最后都为0,则相同。总结:脑子空空,第一次刷哈希的,还是有点不是很懂,全部的思路以及总结需细盘下。

2024-04-23 00:29:23 435

原创 代码随想录算法训练营4day-python|24. 两两交换链表中的节点、19. 删除链表的倒数第 N 个结点、160. 相交链表、142. 环形链表 II

否则,我们递归交换链表 head.next.next,记交换后的头节点为 cur,然后我们记 head 的下一个节点为 pre,令 pre 指向 head,而 head 指向 cur,最后返回 pre。而注定相遇的人,就算走到尽头见不到你,我也会走你走过的路,而你也走过我走过的路”!当快指针指向空时,慢指针指向的就是目标,但因为要先找到节点的前一个,所以快指针要先走N+1步。思路:题目让求的是链表相交的节点,所以a 、b的指针都要走一遍headA、headB两个链表,a、b相遇的地方就是相交的点。

2024-04-21 21:09:41 387 1

原创 代码随想录算法训练营3day-python| 203. 移除链表元素、707. 设计链表、206. 反转链表

2、递归:先写终止条件:如果head为空或者head.next为空,返回head。每一层递归中的head会让下一个节点指向自己,head.next.next=head。1、双指针:初始化pre,cur,它们分别指定null和头节点,tmp指向头节点next。tmp指向cur.next,cur.next指定pre,pre移动到->cur移动到->tmp,当cur为空返回pre。思路:定义虚拟头节点,不用再另外拿出来考虑,返回时也是直接返回虚拟头节点的下一个节点,而不是虚拟头节点。

2024-04-20 00:27:42 135

原创 代码随想录算法训练营2day-python| 977. 有序数组的平方、2209. 长度最小的子数组、59. 螺旋矩阵 II

总结:看着简单,认真敲起来密思极恐,细节处理一塌糊途,特别是最后的返回值,居然返回成累加数(扶额苦笑.jpg),跑死对不上号,差点怀疑人生,不过还是让我学到了新知识,想不到吧~脑子是个好东西,可惜不是人人都有,我就只有一星半点,还得再练练,再会。思路:通过滑动j终止位置来累加元素是否>=target,目标成立计算当前连续数组的长度,起始位置则左移,缩小范围看目标是否成立,不成立终止位置再左移。思路:使用暴力解法的话,for循环平方后再直接排序。思路:边界太多,看到头点点大,左右、上下、右左、下上依次循环。

2024-04-19 00:59:28 480

原创 代码随想录算法训练营1day-python| 704. 二分查找、27. 移除元素

总结:刷题小白,刚开始刷题基本是照着示例敲,经常容易把左右区间更新搞反,后面多做几次,逐渐理解其中的判断条件及本地debug调试后,对二分法有了一定的了解和运用。自己刷题到困难的点或者想不出来容易摆烂 ,还是得要点学习的氛围,这也是第一次做训练的总结吧,凑合看,下次再写好点~~总结:一开始做的时候想着用两个for循环,但是debug调试后发现,无法改变第一层for i的值,后改为while解决。思路:搜索区间[0,len(nums)-1],依次对半收缩查找,左闭右闭区间和左闭右开区间。

2024-04-18 00:22:10 201 1

空空如也

空空如也

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

TA关注的人

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