自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 day32 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II 1005.K次取反后最大化的数组和

55 i<=cover的话 覆盖范围能否覆盖到最后。122 买卖股票的最佳时机II 求两数差的正数和。45 这个题很不好理解,后面看看dp怎么做。1005 一个很巧妙的贪心题。

2024-06-16 16:43:29 89

原创 day31 455.分发饼干 376. 摆动序列 53. 最大子序和

摆动序列:边界条件处理很重要!prediff是<= 和>=分发饼干:循环小孩的胃,用最大的饼干满足胃。最大子序和:这个做过很多遍了,比较简单。

2024-06-16 11:11:43 110

原创 day30 ● 332.重新安排行程 ● 51. N皇后 ● 37. 解数独

解数独 二维递归 思路基本一样。重新安排行程 先转化成dict。

2024-06-10 18:42:47 106

原创 day29 * 491.递增子序列* 46.全排列* 47.全排列 II

递增子序列:注意used是在递归函数内部定义的,这样才能只记录本层的结果。全排列II:used相同元素不能重复使用+树层去重。全排列:used相同元素不能重复使用。

2024-06-10 11:28:20 97

原创 day28 ● 93.复原IP地址 ● 78.子集 ● 90.子集II

子集II 和组合总和II一样,主要是去重,去重主要是树层去重,不需要树枝去重,去重的方法是使用used数组!(太巧妙了第一次用start_index通过了但其实并没有理解什么意思,这次把used数组搞懂了,太通透了!子集 和组合问题一样,注意收集结果不需要if判断。复原IP地址这个题有点难。

2024-06-09 19:50:23 99

原创 day27 ● 39. 组合总和● 40.组合总和II● 131.分割回文串

都是做过不止一遍的题!

2024-06-06 20:52:03 331

原创 day25 ● 216.组合总和III● 17.电话号码的字母组合

做过不止一次了,逐渐理解透彻。

2024-06-06 20:50:31 129

原创 day23 理论基础 ● 77. 组合

组合写过很多很多遍了,还是不是很熟悉。start_index记录下一次从哪个数开始!

2024-06-06 20:49:05 79

原创 day23 ● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树

108这个题做过,其他两个是第一次做,继续理解递归!

2024-06-06 20:47:05 236

原创 day22 ● 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点

二叉搜索树中的插入操作 迭代法可以过 递归还是要好好理解!二叉搜索树的最近公共祖先 用迭代法可以过。删除二叉搜索树中的节点 递归!

2024-06-06 20:43:24 84

原创 day21 ● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先

最小的绝对差和众数都可以用迭代。二叉树的递归还是不熟练。公共祖先还是没完全搞懂。

2024-06-03 20:40:39 299

原创 day20 ● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树

700:如果root值等于val,返回,如果大于,那么递归左子树;654:求最大值加入树中,找左右区间,递归的把左右区间加入树中。98:如果当前节点值大于最大值继续,否则返回false。617:把右数加到左数上。

2024-05-27 10:11:31 100

原创 代码随想录day18 ● 513.找树左下角的值● 112. 路径总和 113.路径总和ii● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树

513 112 113都用深搜做的,通通采用前序遍历的栈的方式,广搜理解的还是不太好。106和105第一次做,很神奇,构建树的过程很有趣。

2024-05-26 21:50:43 107

原创 代码随想录day17 ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和

求左右子树的高度 如果左子树下面没有了,返回-1,如果右子树没有了,返回-1,如果高度差大于1,返回-1,否则计算高度。如果最后高度不是-1,就返回True。所有路径 用迭代的前序遍历,回溯太难了。左叶子:左树上左右节点都是空 用层序。

2024-05-25 17:38:04 206

原创 代码随想录 day16 ● 104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数

第一次访问n叉树 n叉树 用 for child in root.children进行访问。目前都是用层序遍历做的,递归的方法感觉还是稀里糊涂掌握的不是很好。二叉树的最大深度/最小深度/完全二叉树的节点个数。完全二叉树 left+right+1。

2024-05-25 11:26:12 118

原创 代码随想录day15 ● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树 2

注意当cur是空的时候要加入None 否则就没法通过level和level.reserve不相等来判断结果了。但是递归学得不好,翻转二叉树和对称二叉树最后都是层序通过的,递归一直迷迷糊糊,还得再学。学会了层序遍历,通过了一堆题目,很爽。

2024-05-22 12:21:36 192

原创 代码随想录day14 ● 理论基础● 递归遍历 ● 迭代遍历● 统一迭代

写了很多很多遍之后,不知道是背下来了还是真的理解了,感觉比之前好很多。只学习了一下递归遍历。

2024-05-22 10:57:32 375

原创 代码随想录day13 ● 239. 滑动窗口最大值● 347.前 K 个高频元素● 总结

第二,如果现在队列里的元素标号的最后一个减掉第一个超过k,pop第一个元素popleft,也就是维护一个长度为k的队列。第三,如果现在循环的值大于k,每循环一次就要append一个结果,这个结果就是队列头的值也就是queue[0]整体来讲,这两个题都不简单,没做过的话基本没有思路。然后维护一个小顶堆,小顶堆里按照freq排序(这里要用到map.items())三个点:第一,如果现在循环到一个新的元素的值大于队列末尾值,pop队列末尾值。一旦长度大于k,那就pop最小的值。

2024-05-22 10:24:12 191

原创 代码随想录day11 ● 20. 有效的括号● 1047. 删除字符串中的所有相邻重复项● 150. 逆波兰表达式求值

目前来看脑子里要有以下几个情况:①只有[ 对应最后len(stack)不是0 ②只有] 对应 if not stack ③ (] 对应 if stack and stack[-1]!= ss ④可以匹配上的 () 对应if stack and stack[-1] == s,那么stack.pop()150 这个题学会了lambda的用法 lambda x,y: int(x/y) 就是相当于 def func(x,y): return int(x/y) 再调用,思路上和前两个题是类似的。

2024-05-18 20:22:23 162

原创 代码随想录day10 理论基础● 232.用栈实现队列● 225. 用队列实现栈

【代码】代码随想录day10 理论基础● 232.用栈实现队列● 225. 用队列实现栈。

2024-05-17 10:37:51 118

原创 代码随想录day9 KMP

KMP看了两三遍了还是没完全懂,不过比前面好多了能大概跟下来了,还得再多理解几遍!

2024-05-16 10:11:04 230

原创 代码随想录day8 ● 344.反转字符串● 541. 反转字符串II● 卡码网:54.替换数字● 151.翻转字符串里的单词● 卡码网:55.右旋转字符串

这几个题都不是第一次刷了,但是再做都能比较顺利的做出来。替换数字可以用ord~好用的ord屡试不爽~字符串还是很简单的23333。

2024-05-15 10:13:56 228

原创 代码随想录day7 ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和

三数之和、四数之和重点回顾了为什么nums[i]==nums[i-1]而不是i+1,因为left=i+1,要是剪枝也用i+1,就会跳过-1,-1,2这种结果集。三数之和一上来忘记返回结果后还要left,right移动了。四数相加还不是很熟练。

2024-05-14 10:07:54 130

原创 代码随想录day5 ● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和

哈希表的问题用python做相对简单,这几个题都不是第一次做了,快乐数比较费劲,其他都比较顺利。新学了两个好用的数据结构。希望后面能想起来用!

2024-05-13 11:01:03 95

原创 代码随想录day4 ● 24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II

因为进入环之后相当于快指针在追慢指针,快指针动两步慢指针动一步的话相当于快指针比慢指针每次快一个节点(类似于慢指针不动,快指针每次往前动一步),因此一定能追上。24 搞清楚了为什么要提前保存cur.next(因为后面cur.next被改了)和cur.next.next.next(因为2的指向被改了,找不到3了)19 搞清楚了为什么fast要提前动n+1步而不是n步(因为慢指针需要移动到移除的前一个节点执行接下来的操作)搞清楚了为什么cur最后要移动两步(移动到要开始反转的前一个)链表相交 问题不太大。

2024-05-12 09:51:39 115

原创 代码随想录训练营 day3 ● 203.移除链表元素 ● 707.设计链表 ● 206.反转链表

链表从一开始一脸懵逼到现在比较轻松,关键还是在于要清楚每一步在干什么,实在不明白的时候就打印出来看看。除了设计链表之外都是做过好几遍的题了,相对比较熟悉。反转链表字节一面考过,当时也是秒了。

2024-05-11 09:28:27 91

原创 代码随想录day2 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

滑动窗口有两个写法:第一个按照代码随想录每次减掉nums[left],更简单的思路可以每次求和的时候都直接sum(nums[left:right+1]),这样避免考虑减掉left的问题,看起来更直观。这几个题都不是第一次刷了,前两个比较顺利,但滑动窗口依然不太熟练,第三个螺旋矩阵又分不清开始和结束位置了。这次花时间好好捉摸了一下。螺旋矩阵中startx代表目前在第几行,而starty代表目前在第几列,offset是圈数,搞清这些的定义之后就比较容易理解了。

2024-05-09 19:43:26 196

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

27之前不手推会有点晕,但这次看了一下讲解,slow代表新数组的元素位置。新数组就是没有移除的元素,也就是nums[fast]!= val的时候,nums[slow]要更新。704的闭区间一开始还是会思考到底是left<right还是<=,这次终于搞清楚了。如果是左闭右闭的情况,=是有意义的,所以是<=。704和27都不是第一次做了,之前都想怎么把它通过了,这次再做才开始想遇上这类问题应该怎么办。

2024-05-08 10:44:25 199

转载 有线网已连接,但不能上网,qq等软件不能打开,提示cannot initialize等的解决办法

注册表更新:(转载)https://xdoctorx.blog.csdn.net/article/details/105234331搞了很久都没搞定的一个bug,尝试过cmd里resetnetshell,以及局域网取消自动配置,以及其他种种操作。原因大概是强制关机导致的文件损坏或丢失。。。...

2020-11-02 11:31:16 868

原创 ubuntu清理缓存

sudo susyncsyncsyncecho 3 > /proc/sys/vm/drop_caches

2020-08-14 10:43:46 549

转载 linux系统python自定义模块import

https://www.cnblogs.com/sitongyan/p/10641863.html

2020-08-06 09:29:03 689

转载 用于Python扩展包安装的非官方Windows二进制文件

https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

2020-08-05 10:38:25 153

转载 Linux非root用户安装Python

https://www.jianshu.com/p/c45af0ddd68a

2020-08-05 10:24:41 304

空空如也

空空如也

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

TA关注的人

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