自定义博客皮肤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)
  • 收藏
  • 关注

原创 力扣自用python3 2026.11.8

确定行的时候主要是根据当前行的最后一个数字和target比较来确定的。如果当前行最后一个数字小于target,那就是这个行前面的都小于,如果大于,那就是这个在这个行前面,最后出循环的就是确定的那一行。思路:二分查找就是板子,l表示左面和target关系,一般都是nums[mid] < target:l = mid + 1这样,l就是小于target的搜索,最后结束的时候l表示大于等于target的第一个位置。给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。给你一个满足下述两条属性的。

2026-11-08 21:47:07 36

原创 python3自用力扣 2026.11.7

按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。思路:每一行看每个位置能不能放皇后,能的话放,然后搜索下一行,然后回溯。的棋盘上,并且使皇后彼此之间不能相互攻击。如上图所示,4 皇后问题存在两个不同的解法。的棋子放置方案,该方案中。每一种解法包含一个不同的。分别代表了皇后和空位。

2026-11-07 22:17:52 191

原创 力扣自用python3 2026.11.3

思路:我的习惯是path统计这个搜索树的路径,pos表示当前层开始的位置,i表示当前层选取的开始位置,i+1大概率就是下一层开始的位置。这个题path中保存的是各个子串,pos表示分割开始的位置,i是子串结束的位置。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。思路:这个就是找到单词开始的位置开始上下左右搜索,是否满足,满足的话递归,直到最后,每一层都要向上返回true。所有可能的分割方案。

2026-11-03 21:51:32 94

原创 力扣(python3自用)2026.4.22

又是好久都没有刷题,今天把二叉树的题顺一遍。

2026-11-03 21:45:21 171

原创 力扣(python3自用)2026.11.1

思路:这个题和上面的组合题子集题的板子不同,但是都是回溯。回溯先找到路径path,然后判断回溯的出口和如何统计path,然后写的就是当前层怎么做,当前层结束之后下一层就是回溯,只不过状态要改变。然后path是列表的话,那就是每一层共享,每次统计当前path需要.copy(),字符串拼接的话每一层都会复制。代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且。

2026-11-01 22:07:51 24

原创 力扣(python3自用)2026.10.31

思路:依旧是回溯,先对候选数组进行排序,回溯的出口就是当前路径的值和target比较,小于的话继续向下探索,大于或等于的话就是回溯。其中pos表示每次探索的范围的起点,大于等于的话就是这个起点的所有分支已经不满足了,就进行下一个起点的探索。2 和 3 可以形成一组候选,2 + 2 + 3 = 7。注意 2 可以使用多次。如果至少一个数字的被选数量不同,则两种组合是不同的。7 也是一个候选, 7 = 7。,并以列表形式返回。中可以使数字和为目标数。对于给定的输入,保证和为。

2026-10-31 21:47:49 158

原创 力扣(python3自用)2026.10.30

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。思路:从当前位置遍历后面的,然后回溯,位置到数组最后就是递归出口。思路:和子集查询很像,就是多了一个遍历数字对应的字母的过程。的字符串,返回所有它能表示的字母组合。返回该数组所有可能的子集(幂集)。

2026-10-30 23:06:26 201

原创 力扣(python3自用)2026.4.22

给定一个不含重复数字的数组。

2026-10-29 22:39:28 30

原创 力扣(python3自用)2026.10.29

思路:构建字典嵌套,也就是单词的每个字符就是一个树的节点,子节点是下一个字符,单词“aab"类似构造成{a:{a{b}}} 插入单词首先遍历,判断字符存不存在,不存在直接构造空,存在的话看下一个,树也走到下一个节点,最后插入#表示单词结束。// 返回 False。// 返回 True。// 返回 True。// 返回 True。

2026-10-29 21:50:25 113

原创 力扣(python3自用)2026.10.27

本质就是构造一个有向图,然后不断把入度为0的节点剔除,并把这个节点指向的其余节点的入度-1,并判断是否有入度为0的节点,有的话依旧剔除,这个过程中统计剔除的个数,最后和总的节点数进行比较,看是否相等,相等即为true。出度的话就是len(graph[i]),本题用不上出度。学习课程 1 之前,你需要先完成​课程 0;并且学习课程 0 之前,你还应先完成课程 1。学习课程 1 之前,你需要完成课程 0。在选修某些课程之前需要一些先修课程。请你判断是否可能完成所有课程的学习?,表示如果要学习课程。

2026-10-27 11:43:32 138

原创 力扣(python3自用)2026.10.26

思路:这个题就是多源bfs,其实就是统计有多少层,第一层不算,依旧是用队列存储当前腐烂的橘子和层数,下一层来的时候更新层数就可以了,最后如果还有新鲜橘子,那就return -1。左下角的橘子(第 2 行, 第 0 列)永远不会腐烂,因为腐烂只会发生在 4 个方向上。直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。因为 0 分钟时已经没有新鲜橘子了,所以答案就是 0。的新鲜橘子都会腐烂。

2026-10-26 21:51:14 65

原创 力扣(python3自用) 2026.10.25

思路:bfs习惯广搜,1的入队列,并标记已访问,然后四周是1的都入队列并标记已访问,左面不断出队列,直到队列为空则一个岛屿结束了,更新岛屿数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。(水)组成的的二维网格,请你计算网格中岛屿的数量。前一段时间整理科研了,现在开始坚持刷,希望坚持。此外,你可以假设该网格的四条边均被水包围。

2026-10-25 21:48:30 144

原创 力扣(python3自用)2026.4.20

最近没有刷力扣,罪过,主要是跑实验太累了,今天做了一道题。

2026-04-20 17:53:16 52

原创 力扣(python3自用)2026.4.13

思路:递归函数是找前中序的,先找根节点,然后是左面的序列的,然后是右面序列的处理,左面和右面序列的处理是递归。思路:原地操作,递归函数的作用就是处理左面的,处理右面的,然后合并。,请构造二叉树并返回其根节点。

2026-04-13 20:29:55 221

原创 力扣(python3)自用2026.4.10

需要注意队列初始化根节点的时候,需要是列表的形式,是迭代对象。因为这个是需要返回每一层的情况的,所以涉及层的都需要在while q中用循环,表示当前层。递归,判断每个节点的值是否满足范围,左子树的节点,范围应该是 left到当前节点;参考前面树的最大深度的题,需要先用递归求出每个节点的左子树最大深度和右子树最大深度,然后用一个全局变量维护最后的最大值。,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。3 ,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。

2026-04-10 17:01:25 394

原创 力扣(python3自用)2026.4.7

思路:需要额外写一个递归函数,传入left和right,比较left和right自身,还要比较left的左子节点和right的右子节点;left的右子节点和right的左子节点。思路:每个节点的左右翻转就可以,然后二叉树是链表连接的,可以直接返回root。思路:返回max(left,right) + 1 这个1是当前层。是指从根节点到最远叶子节点的最长路径上的节点数。,翻转这棵二叉树,并返回其根节点。给定一个二叉树的根节点。给你一棵二叉树的根节点。给你一个二叉树的根节点。, 检查它是否轴对称。

2026-04-07 21:05:10 206

原创 力扣(python3)2026.4.3自用

这个题,如果没有random这个指针的话,只有next,那只需要边构建节点,边复制val 然后连接到新的链表上就可以了。但是有random的话,它的指向是随机的,它指向的节点,可能目前构造不出来。正解:将原链表的节点和新链表的节点,用哈希表,做一个映射。需要定义head 和tail 节点,head之后的节点为最新使用的,tail之前的节点为最久不使用的。指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。节点组成,其中每个新节点的值都设为其对应的原节点的值。

2026-04-03 17:53:06 432

原创 力扣(python3)2026.4.2自用

思路:这个题可冲刷,它是需要一个tmp来充当交换节点的前一个节点,然后pre是第一个交换节点,cur是第2个交换节点,需要保存第2个交换节点的下一个节点为suf。思路:这个题可重做,需要保存每组的第一个节点,因为它翻转之后就变成了最后一个节点。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。的链表,表示两个非负的整数。个节点一组进行翻转,请你返回修改后的链表。

2026-04-02 17:27:03 202

原创 力扣(python3自用) 2026.3.31

今天的题都是数组和链表相关的,看来之前做的效果不错,感觉都有思路,自己也基本都能敲出来。

2026-03-31 16:47:05 395

原创 力扣(python3)2026.3.21

思路:这个题一开始觉得很难,结果看了答案之后,惊呆了,只需要看过去的是否累积。类似于接力棒,如果前面是负数,那就不要了,如果是正数那就累积。,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].连续子数组 [4,-1,2,1] 的和最大,为 6。一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,4] 和 [4,5] 可被视为重叠区间。,将数组中的元素向右轮转。是数组中的一个连续部分。

2026-03-31 09:37:16 44

原创 力扣(python3自用)

问了ai之后,明白自己应该先梳理思路,在说一些细节问题。先把思路理清,把框架搭建起来。最好可以先写注释,30min之后,这道题不管什么地步,都要暂停去看答案。

2026-03-30 16:37:27 371

原创 力扣刷题(自用 python3)

我是菜鸡,昨天太忙了,没有刷,每次刷一道题就要想很久。每次看到题,感觉有想法,能大概的知道用双指针或者滑动窗口,动态规划之类的,但是写代码就是写不出来,尽力写出来之后总是不能把所有的样例都通过,看了解析之后,不由感叹大家算法的精妙之处,简直是秒啊!!

2026-03-26 18:12:20 364

原创 力扣刷题(自用 python3)

特殊情况判断完成之后,看当前元素和 l 位置元素 r 位置元素的和是否为0,是0的话直接将结果更新,并将 l r 重复的跳过,并更新 l r 的位置。如果大1值存在,需要不断循环判断更大的是否存在,知道序列的最大值。思路:使用python的dict,将排好序的字符串作为dict的key,将当前元素作为dict的value,其中value是列表类型。给一个整数数组,判断其中是否存在nums[i] + nums[j] + nums[k] = 0,其中i j k的下标不一样,并且最后和为0的三元组不重复。

2026-03-23 17:34:36 658 1

空空如也

空空如也

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

TA关注的人

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