![](https://img-blog.csdnimg.cn/20200726101427300.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
EasyLeecode
我是垃圾
Tiny Tot
这个作者很懒,什么都没留下…
展开
-
20200818笔记.109
每日一题109.有序链表转二叉搜索树方法1.分治,将中间节点找出来,即为根节点,分为左右两边收获:找链表中间节点的巧妙方法,快慢指针,快指针每次循环走两格,慢指针走一格。这样当快指针走到最后的时候,慢指针指的就是中间节点。要注意一个问题,就是快指针结束的判断条件是fast!=right&&fast.next!=right。因为有可能快指针正好停在right上或者right前一个,然后跳两步就会跳到null上。方法2.这个也很巧妙,但是我其实不是很懂这个玩意为啥会快,虽然理论上是原创 2020-08-18 12:18:21 · 84 阅读 · 0 评论 -
20200813笔记.43.392.1606
双指针int n = num1.charAt(i)-'0'; //这两个的写法感觉挺有用的 for (char c = 'a'; c <= 'z'; c++)原创 2020-08-13 11:28:15 · 101 阅读 · 0 评论 -
20200812笔记.133.303
每日一题133.克隆图bfs和dfs在图问题上的运用DFSDFS注意要在递归之前写好退出递归的条件。class Solution { public Node cloneGraph(Node node) { Map<Node, Node> lookup = new HashMap<>(); return dfs(node, lookup); } private Node dfs(Node node, Map<No原创 2020-08-12 15:59:06 · 82 阅读 · 0 评论 -
20200811笔记.130.746.1025
bfs,dfs,并查集原创 2020-08-11 11:37:32 · 75 阅读 · 0 评论 -
*20200810笔记.696.121.122(三种方法都很值得学习)
三种方法解决买股票2,滚动数组压缩动态规划数组。单调栈原创 2020-08-10 12:40:09 · 89 阅读 · 0 评论 -
20200809笔记.93
每日一题:93.Ip地址划分,我只会ijk代表小数点位置来遍历应该利用回溯法,碰到不行的就回溯减枝。回溯有很多种思路,有按看能不能在分出四个合法字段的时候恰好把字符用光的,还有官方的回溯思路,我觉得比较好理解的是下面这个。https://leetcode-cn.com/problems/restore-ip-addresses/solution/shuang-bai-ti-jie-zui-tong-su-yi-dong-de-c-hui-su-/是根据小数点位置进行回溯,class Soluti原创 2020-08-09 10:25:13 · 129 阅读 · 0 评论 -
20200808笔记.99
O1的算法,莫里斯遍历原创 2020-08-08 17:07:06 · 68 阅读 · 0 评论 -
20200807笔记.100.111.70(方法二三待学习)
滚动数组bst的模板矩阵快速幂,能把70从On的时间复杂度优化到Olgn原创 2020-08-07 16:46:26 · 109 阅读 · 0 评论 -
20200806笔记.198.336(待).213
198.打家劫舍①是昨天做的打家劫舍三的最简单版,一样的dp思想213打家劫舍②,跟第一个一样,但是这回的房子是成环的。我寻思要把头和尾都特殊判断,特殊处理一下呢,结果答案很巧妙啊由于头和尾不共存,所以就可以拆分成两个198问题。收获:Array.copyOfRange,from是包括在新数组的,但是to是不包括的,截断到to前一位336.回文对,每日一题,真难啊。我不会,我就是写暴力都不一定写对,还会超时。关于PriorityQueue,可以用于获得最小值或者最大值Queue<原创 2020-08-06 14:08:08 · 83 阅读 · 0 评论 -
20200805笔记.337
每日一题:二叉树的后序遍历,动态规划开始的时候没仔细读题,以为就是比较一下二叉树奇数层和偶数层的和哪个更大,想用层序遍历来搞,怕写完了再有问题白费功夫就看了一下题解,我果然是个垃圾。这是一个动态规划问题,虽然也用到了遍历,但是使用到了后序遍历,用来维护dp数组们。对每个节点有两种情况:1.最优解包含这个节点o,则它的子树的最大和为fo2.最优解不包含o,则它的子树最大和为wo对于第一种,fo = wl+wr,因为o的左右子树不可以被包含对于第二种,o的子树可以被包含也可以不被包含(这就是我理解原创 2020-08-05 14:01:23 · 149 阅读 · 0 评论 -
20200804笔记.207(待).933.239
滑动窗口双向队列还有一个很精彩的动态规划(虽然我觉得不像)原创 2020-08-04 12:18:32 · 110 阅读 · 0 评论 -
20200803笔记.415
双指针int-'0'到char类型的整数原创 2020-08-03 10:47:46 · 69 阅读 · 0 评论 -
20200802.114(待).53
简单的dp线段树(待)前序遍历(待)原创 2020-08-02 10:26:04 · 74 阅读 · 0 评论 -
20200801.632(待).1692.64
几个简单地dpdp的分析流程:优化子结构,无后效性------>递归方程用原数组来装dp数组的元素来节省空间原创 2020-08-01 17:42:36 · 137 阅读 · 0 评论 -
20200731笔记.1685.1047.2
多尝试StringBuilder,append的运用原创 2020-07-31 10:29:54 · 70 阅读 · 0 评论 -
20200730笔记.343.1441.735(待解决)
今天的每日一题343.整数拆分第一眼看到,我就想到了昨天做过的一个用双指针的题,对于343,我的想法是,左右各一个int指针pi,pj,然后左指针右移一位,右指针就左移一位,对于每个指针状态,再递归的求解。递归终止的条件是j = i+1,因为原来的时候乘积是xy,变化指针一下之后是(x+1)(y-1),令两式相等得到应该满足y=x+1.但是运行完了发现不对,这个情况下n=x+y=2*x+1恒为奇数,没有办法处理偶数的情况。我虽然不知道偶数具体怎么进行性判断,但是感觉奇数这种处理应该没什么问题。看了下题解原创 2020-07-30 11:05:06 · 76 阅读 · 0 评论 -
20200729笔记.844.682.11
equal对于String来说已经重写过了static的一个有关报错双指针的灵活运用原创 2020-07-29 11:16:49 · 87 阅读 · 0 评论 -
20200728笔记.(104.1.496)
想起来自己很久没用过github了,几天早上在github建了个库想把这几天写的东西试着传上去,碰到了一个问题图片是从网上找的,当时忘截图了我想了一下大概是我在创建远程库的时候勾选了生成readme那个txt文件,本地库没有,所以得先pull一下再push,但是我试了一下还是不对,网上的教程也差不多是先pull再push,我也没搞懂这个问题,只好又建了个完全空白的远程库。收获:1.复习了一下git和github的使用2.以后要注意建立远程库时不要勾选生成readme,不如自己写一个104.二叉原创 2020-07-28 10:42:50 · 66 阅读 · 0 评论 -
20200727笔记.栈.队列(225.232.224)
中缀转后缀的一种简便方法Java中Queue,Deque(Stack)的具体用法简单计算器的通用实现原创 2020-07-27 11:16:53 · 82 阅读 · 0 评论 -
20200726笔记.栈,辅助栈,(20.155)
菜鸡的笔记,没有阅读价值(1)leecode20题,元素:栈收获:1.要求匹配相对应的(),{},[]。用map来解决有关配对的问题。2.条件表达式关系表达式 ? 表达式1:表达式2根据关系表达式的布尔值决定取值,true时取表达式1,false取2.java中条件运算表达式的关系表达式的类型必须为布尔类型,即只能是true和false3.ArrayList a没法直接调用a[i],要用a.get(index).(2)leecode155题,元素:栈自己的方法存在的问题(待解决)我原创 2020-07-26 13:15:47 · 304 阅读 · 0 评论