Leetcode每日一题
K菜
这个作者很懒,什么都没留下…
展开
-
单链表转换为二叉搜索树
题目:https://leetcode-cn.com/problems/convert-sorted-list-to-binary-search-tree/笨办法:单链表转换为数组,然后根据二叉搜索树的特点分治递归。优化:单链表找中位数,用快慢指针中序遍历还原原创 2020-08-18 09:24:13 · 223 阅读 · 0 评论 -
字符串(一)
1.Python中字符串不可变,每次是重新生成了一个字符串2. 字母 大小写转换(1)位运算(2)常规做法,替换3.KMP算法——关键求next数组当求的是是否存在p的子串时,search写法如下:匹配多个时:...原创 2020-08-17 12:48:19 · 115 阅读 · 0 评论 -
LeetCode
Day-8整数的运算——位运算整数:正整数、负整数补码形式进位加、无进位加(1)计算机中存整数n是用补码存的。如果n为正数,则原码=反码=补码如果n为负数,则补码=反码+1(2)无进位加=异或运算进位=与运算(3)代码...原创 2020-08-17 12:27:42 · 106 阅读 · 0 评论 -
LeetCode
Day-7数值计算的时候,考虑溢出问题、正负数问题(补码、原码)(C++与Python中的处理不同)INT_MAX、INT_MIN原创 2020-08-17 12:27:54 · 136 阅读 · 0 评论 -
LeetCode
Day7数组中重复数字的查找1.仅一个数组不重复,找出该数字(1)哈希表来做(2)位运算,所有数异或可以得到不重复的该数;2.除了两个数字只出现一次,其余数都出现两次(1)哈希(2)位运算,所有数异或可以得到两个数的异或值,通过异或后的位1的位将数组分为两个部分,对两个部分分别进行异或运算即可计算出来个不重复的数。...原创 2020-08-17 12:28:04 · 125 阅读 · 0 评论 -
LeetCode-每日一题
Day-6题目:https://leetcode-cn.com/problems/largest-rectangle-in-histogram/同类型题目还有接雨水,类似的题目其实都是数组题,转化为栈来做。解析:该题重点为找到矩形的左右边界,然后求面积可以通过单调栈来得到当前柱子的左边界和右边界,注意当栈空时可以设置一个哨兵-1通过左右节点计算矩形面积,求最大时间复杂度为O(N),空间复杂度也为O(N);优化方法如下:![单调栈维护左右边界![](https://img-blog.csdn原创 2020-08-17 12:27:24 · 93 阅读 · 0 评论 -
LeetCode-每日一题
Day5-剑指 幂运算本题中需要考虑当指数为负数的情况,将指数转化为整数之后进行计算,不然二分求值的结果很可能出问题。原创 2020-08-17 12:27:12 · 68 阅读 · 0 评论 -
LeetCode-每日一题394
Day5-394字符串解码注意本题中存在嵌套的情况,所以直接按顺序遍历求解的方法是有问题的,故考虑用辅助栈通过出栈入栈实现优先计算,或者递归方法。方法一:辅助栈遇见]出栈计算重复的字符串,相当于每次将[]中的内容与前面的字符串解码为一个字符串,并入栈。最后将栈中的内容按顺序读取即为最后的结果。这个地方刚开始写有问题,是错用了stack.pop(),方法二:递归[开启递归,]结束递归,本题注意递归需要更新递归后的索引!!!!!注意:字符串可以直接用乘法来实现倍增,不用通过for循环来累加。原创 2020-08-17 12:26:50 · 64 阅读 · 0 评论 -
Leetcode每日一题-105
Day-3:#105一棵二叉树可以由前序和中序遍历、或者后序和中序遍历唯一得到。中序遍历可以得到二叉搜索树的递增序列,即通过判断是否递增来判断是否是合法的二叉搜索树。一、本题中可以通过观察重构树的过程得到递归的方法:前序的首节点必定是子树的根节点,该节点在中序遍历中将树分为左右两个子树;对子树进行同样的构造方法可以推出完整的树来。二、迭代方法:根据前序遍历的特点,他一定是搜索到最左叶节点之后停止,然后遍历右节点,所以中序遍历的首节点必定是根节点的左叶节点,故通过栈保存每个节点的左节点,然后再回原创 2020-08-17 12:27:01 · 97 阅读 · 0 评论 -
LeetCode每日一题-5
Day-2-最长回文子串题目介绍:https://leetcode-cn.com/problems/longest-palindromic-substring/首先,要明白子串和子序列的区别,即子串要是连续的,子序列则不必。1.求最长子序列的问题都可以用动态规划法来完成,用dp[i][j]存储该位置是否为回文的标志,然后由前后索引来求得最长长度和对应子串。刚开始直接考虑dp里面放字符串,结果错误,因为没法由此完成对应的状态转移,故一定要有标志判断前一个状态是否是回文。在写的过程中要注意考虑偶对称的情原创 2020-08-17 12:26:15 · 87 阅读 · 0 评论 -
Leetcode每日一题1371
这里写自定义目录标题Day-1功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Day-1题目链接:https://leetcode-cn.com/problems/find-the-longest-substring-conta原创 2020-08-17 12:26:38 · 69 阅读 · 0 评论