leetcode
wszhou1997
为世界之光
展开
-
c++字符串拼接的问题
s = s + 'A’会产生一个新的对象,在返回结果给ss += 'A’应该是涉及到对象的引用,不需要产生额外的对象因此s = s + 'A’在每次拼接时都产生额外的对象占用内存,在字符串特别长的时候会导致超出内存限制的问题leetcode习题:面试题 01.06. 字符串压缩...原创 2020-09-07 22:58:40 · 248 阅读 · 0 评论 -
快速幂
代码:注:当 n = -2147483648时执行 n = -n会因越界而赋值出错,故定义变量n1class Solution {public: double myPow(double x, int n) { if (x == 0) return 0; double res = 1; long n1 = n; if (n < 0) { x = 1 / x; n1 = -...原创 2020-08-27 21:48:22 · 153 阅读 · 0 评论 -
刷题笔记
C++刷题笔记查找:1.顺序查找2.二分查找3.哈希查找算法:1.摩尔投票法2.KMP算法字符串:1.增删查改2.串比较链表:1.增删查改树:1.遍历(前、中、后、层次|递归非递归)...原创 2020-04-06 16:04:28 · 125 阅读 · 0 评论 -
leetcode刷题周记(五)
11. 盛最多水的容器我的解法:这种方法背后的思路在于,两线段之间形成的区域总是会受到其中较短那条长度的限制。此外,两线段距离越远,得到的面积就越大。我们在由线段长度构成的数组中使用两个指针,一个放在开始,一个置于末尾。此外,我们会使用变量 maxarea 来持续存储到目前为止所获得的最大面积。在每一步中,我们会找出指针所指向的两条线段形成的区域,更新 maxarea,并将指向较短线段...原创 2019-12-09 11:22:49 · 136 阅读 · 0 评论 -
leetcode刷题周记(四)
题目编号: 155、160、167、168、169、171、172155. 最小栈我的解法:同步双栈法,data栈存储数据,helper栈存储最小值初始化:将两个栈均初始为空入栈:data栈先入栈,若helper栈为空或当前入栈元素值小于helper栈顶元素(即当前入栈元素为最小值),则元素入helper栈,否则helper当前栈顶元素再次入helper栈出栈:若栈不空,则helper...原创 2019-11-25 20:22:16 · 124 阅读 · 0 评论 -
leetcode刷题周记(三)
题目编号: 118、119、121、122、125、136118. 杨辉三角我的解法:两个数组,now用来记录当前行数据,pre用来记录上一行的数据首先对每一行设为全1,根据杨辉三角的特点,从第三行起,第二个元素开始,到倒数第二个元素为止,当前元素i等于上一行的i-1号元素和i号元素的和class Solution(object): def generate(self, numR...原创 2019-11-18 21:43:10 · 169 阅读 · 0 评论 -
leetcode刷题周记(二)
题目编号: 88、100、101、104、107、108108. 将有序数组转换为二叉搜索树我的解法:1.平衡二叉搜索树的特点是:每个节点的左右子树都高度差在1以内,每个节点左子树小于右子树。2.根据平衡二叉搜索树的特点,可以联想到,每个节点当做根节点的时候,左子树形成的数组一定比它小,右子树形成的数组一定比他大。因此,符合有序数组任意子数组中点的性质。3.结合树结构常用的递归思想,可以...原创 2019-11-11 16:58:04 · 162 阅读 · 0 评论 -
leetcode刷题周记(一)
题目编号: 26、27、28、35、38、53、58、66、67、69、70、8326.删除排序数组中的重复项:我的解法:设置一个偏移量变量Offset用来记录重复的元素个数,length记录不重复的元素。遍历一次数组,若当前元素与下一个元素相同,则偏移量Offset加一;若当前元素与下一个元素不同,则Offset不变,length加一;循环每执行一次当前元素向前移动Offset位,即可实现覆...原创 2019-11-05 16:39:44 · 164 阅读 · 0 评论