![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题
文章平均质量分 57
啊西边的瓜
这个作者很懒,什么都没留下…
展开
-
西瓜仔刷题集5--剑指offer(51-60题)
剑指offer原创 2022-07-11 17:13:29 · 152 阅读 · 0 评论 -
西瓜仔刷题集4--剑指offer(41-50题)
40.和为S的连续正数序列【22.5.14 中等】解题思路:类似于TCP协议的滑动窗口协议使用left和right两个变量来代替滑动窗口的左边界和右边界。核心while循环的条件是:只要左边界 小于 目标值的一半就要进入循环,只要不小于循环结束,说明此时已经找到完了。定义temp变量,用来存放滑动窗口中的所有元素的和。当temp小于target的值的时候,右边界向右扩一个。当temp大于target的时候,左边向右一个var findContinuousSequence = functio原创 2022-05-30 22:00:40 · 253 阅读 · 0 评论 -
西瓜仔刷题集3--剑指offer(31-40题)
剑指offer原创 2022-05-14 13:31:17 · 118 阅读 · 0 评论 -
【刷题】33.求第n个丑数
转自:https://www.cnblogs.com/dpnlp/p/yongjs-shua-jian-zhioffer-chou-shu.html题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路通俗易懂的解释:首先从丑数的定义我们知道,一个丑数的因子只有2,3,5,那么丑数p = 2 ^ x * 3 ^ y * 5 ^ z,换句话说一个丑数一定由另一个原创 2022-04-27 17:38:48 · 176 阅读 · 0 评论 -
西瓜仔刷题集2--剑指offer(21-30题)
【2022.3.31】21. 给出栈的压入序列,判断第二个是否为弹出序列(需要注意:辅助栈是用js中的数据来模拟的)原创 2022-04-25 10:31:57 · 88 阅读 · 0 评论 -
27--输出给定字符串的排列【4.12】--待解决
**思想:**不断地去字符串数组里面拿一个字符,从剩余的字符串选择一个拼接字符串,每拿一个减去一个;当字符串数组被拿空时,就把结果添加进结果数组里,然后回溯上一层,(通过往数组加回去字符以及拼接的字符串减少一个来回溯。)算法步骤:1.遍历字符串数组里面拿一个字符, 把该字符加入到resultarr定义为:ABCD:取出A; rusult先把A放进去2.原数组减去当前正在遍历的字符arr变成了:BCD;3.对于减去该字符的arr,递归perm方法;如此循环递归,跳出条件为:当index为le原创 2022-04-22 16:47:02 · 200 阅读 · 0 评论 -
26--二叉搜索树与双向链表【4.9】
先对左子树调整为双向链表,并用变量pLast指向最后一个节点再将中间节点和pLast连起来再去调整右子树中序遍历递归:才能让二叉树变成有序的链表原创 2022-04-09 20:16:33 · 327 阅读 · 0 评论 -
25-复杂链表的复制
题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。题意分析:题目里面说明,不要返回结点的引用,如果这样做了会返回为空。其实说的就是浅拷贝深拷贝和浅拷贝的区别如下:简单的来说就是,在有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存(实际指向同一内存)深拷贝就是增加一个指针并且申请一个新的内存,使这个原创 2022-04-07 16:36:54 · 360 阅读 · 0 评论 -
23.二叉搜索树的后序遍历序列(不明白边界条件)
//最后一个元素是根节点root;//除去root后的序列,前面是根节点的左子树left,后面是根节点的右子树right;//左子树序列一定都要比root小,右子树序列一定都要比root大.//对左子树和右子树的序列同样满足以上三点function VerifySquenceOfBST(sequence){ let result,l1; l1=sequence.length;if(l1==0) return false;if(l1==1) return true;result原创 2022-04-01 15:16:14 · 494 阅读 · 1 评论 -
js刷题: 顺时针打印矩阵
let result=[];function printMatrix(matrix){ let x1=0; let y1=0; let x2=matrix.length-1; let y2=matrix[0].length-1; while(x1<=x2&&y1<=y2){ let result=Print(matrix,x1++,y1++,x2--,y2--); } return resul...原创 2022-03-30 15:35:53 · 269 阅读 · 0 评论 -
西瓜仔刷题集1--剑指offer(1-20题)
1.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。【2022.3.16】选择最左下角的那个点作为起始点,也就是a[array.lenth][0],比它大就往右边走,比它小就往上面走。2.请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。【2022.3.16】 return原创 2022-03-16 11:24:48 · 329 阅读 · 1 评论