
数据结构
就爱瞎逛
我们对采摘不到的葡萄,不但想象它酸,也很可能想象它格外的甜
展开
-
javascript快排三种解法
方法1.最浅显易懂的http://www.ruanyifeng.com/blog/2011/04/quicksort_in_javascript.htmlvar quickSort = function(arr) { if (arr.length <= 1) { return arr; } var pivotIndex = Math.floor(arr.length ...原创 2019-08-24 13:44:31 · 4417 阅读 · 3 评论 -
[剑指Offer学习记录]
复习次数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...原创 2019-12-29 11:57:37 · 224 阅读 · 0 评论 -
[leetcode javascript]350. 两个数组的交集 II(filter、哈希、双指针、暴力破解)
350. 两个数组的交集 II给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]/** * @param {number[]} nums1 * @param {...原创 2019-09-14 11:31:56 · 268 阅读 · 0 评论 -
[leetcode javascript]9.6-9.13做过的题目:1002,242,1160,203,160,1078,234,876,922,1030
突然意识到leetcode是不存自己写的代码的,都是临时存在本地而已,如果自己清理垃圾,估计会直接被清除掉。但自己的一些想法会写在代码里,还是把代码搬了过了。有想过弄去github的,但是感觉这里会方便一点,先弄在这里吧。以下是9.6-9.13做过的题目目录1002. 查找常用字符242. 有效的字母异位词1160. 拼写单词203. 移除链表元素160. 相交链表...原创 2019-09-14 12:06:57 · 309 阅读 · 0 评论 -
[leetcode javascript]965. 单值二叉树
965. 单值二叉树如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回true;否则返回false。/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = t...原创 2019-09-15 13:33:02 · 272 阅读 · 0 评论 -
javascript 归并(递归+非递归)
递归function ArrayList(){ var array = []; this.insert = function(item){ array.push(item); }; this.toString= function(){ return array.join(); }; this.mer...转载 2019-09-16 13:30:56 · 209 阅读 · 0 评论 -
[leetcode javascript]589. N叉树的前序遍历 872. 叶子相似的树
589. N叉树的前序遍历 题解:https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/solution/javascriptdi-gui-die-dai-by-xiaotanit/要注意看题目给的条件啊。Node有val和children// 递归var preorder = function(root) ...原创 2019-09-17 13:44:49 · 123 阅读 · 0 评论 -
[leetcode javascript]938. 二叉搜索树的范围(部分遍历、全部遍历) 和 897. 递增顺序查找树(递归、辅助栈)
目录938. 二叉搜索树的范围和方法一:部分遍历方法二:全部遍历897. 递增顺序查找树方法一:224ms方法二:332ms方法三:348ms方法四:(辅助栈)938. 二叉搜索树的范围和题解: 递归(思路非常清晰,内含画解,强推!)和中序排序 递归 将整棵树遍历一遍方法一:部分遍历思路标签:深度优先遍历题意:这个题字面含义很难理解,...原创 2019-09-18 13:36:10 · 217 阅读 · 0 评论 -
[leetcode javascript]1046. 最后一块石头的重量(二分法)
今天快手笔试,快手最后一道编程题20分就是它!!然而我忘记要用二分法...用了while+sort...因为运行时间过长报错了......1046. 最后一块石头的重量 题解有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块最重的石头,然后将它们一起粉碎。假设石头的重量分别为x 和y,且x <= y。那么粉碎的可能结果如下:如果x == y,那么两块石头都...原创 2019-09-19 11:15:36 · 302 阅读 · 0 评论 -
[leetcode javascript]20. 有效的括号(replace 和递归)和101. 对称二叉树(递归、迭代、中序遍历)
目录20. 有效的括号 题解方法一:replace方法二:递归101. 对称二叉树方法一:递归方法二:迭代方法三:利用“节点,层数”这种形式进行中序遍历20. 有效的括号 题解方法一:replace执行用时 :88 ms, 在所有JavaScript提交中击败了37.26%的用户内存消耗 :35.9 MB, 在所有JavaScr...原创 2019-09-20 17:32:38 · 293 阅读 · 0 评论 -
[leetcode javascript]1029. 两地调度(贪心)和 144. 二叉树的前序遍历(四种方法)、94. 二叉树的中序遍历(递归×2、非递归、莫里斯遍历)、145. 二叉树的后序遍历
目录1029. 两地调度(贪心)144. 二叉树的前序遍历方法一:借助额外函数递归方法二:递归方法三:迭代方法四:莫里斯遍历94. 二叉树的中序遍历方法一:递归(借助额外的函数)方法二:递归方法三:非递归方法四:莫里斯遍历145. 二叉树的后序遍历方法一:迭代方法二:莫里斯遍历方法三:按后序遍历的思路走(用到栈,Map类)方法四:按...原创 2019-09-21 11:32:13 · 515 阅读 · 0 评论 -
[leetcode javascript]周赛155:5197. 最小绝对差(没有做完
渣渣先声明,并没有做完。因为最后给的数据太大直接爆掉了链接指路:https://leetcode-cn.com/contest/weekly-contest-155/problems/minimum-absolute-difference/希望不久的将来我能看到大佬们的题解先记录自己渣渣的用法/** * @param {number[]} arr * @return...原创 2019-09-22 12:37:58 · 291 阅读 · 0 评论 -
[leetcode javascript]104. 二叉树的最大深度 和 993. 二叉树的堂兄弟节点 和 1185. 一周中的第几天
104. 二叉树的最大深度思路(我觉得这个思路可以参考) 来源题解标签:DFS找出终止条件:当前节点为空找出返回值:节点为空时说明高度为0,所以返回0;节点不为空时则分别求左右子树的高度的最大值,同时加1表示当前节点的高度,返回该数值某层的执行过程:在返回值部分基本已经描述清楚时间复杂度:O(n)// 表达方式一:用let:80ms 用const:96ms// var max...转载 2019-09-14 11:25:00 · 237 阅读 · 0 评论 -
[leetcode javascript]203. 移除链表元素(最后面有三种解法)
这么一道简单的题,我感觉自己把能踩的坑都踩了一遍 :)我对于while(pre&&pre.next)这个条件的理解是:因为下面用到了pre.next.next,所以要在用之前判断pre.next是否为空,如果pre.next为空,那pre.next.next就会报错。因为空指针的下一个指针是没有定义的。而又因为要判断pre.next是否为空,所以要先判断pre是否为空,理由和前...原创 2019-09-11 10:20:06 · 317 阅读 · 0 评论 -
【数据结构第三周】1.树的同构 2. List Leaves
因为代码大部分是借鉴别人的,因此设为【转载】第一题:03-树1树的同构(25分)给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2现给定两棵树,请你判断它们是否是同构的。...转载 2019-03-15 19:36:13 · 156 阅读 · 0 评论 -
【数据结构第二周】1.两个有序链表序列的合并 2.一元多项式的乘法与加法运算
第一题:02-线性结构1两个有序链表序列的合并(15 分)本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data...原创 2019-03-08 11:45:48 · 402 阅读 · 0 评论 -
c语言有关的参考链接
1.指针与指针的指针:https://blog.youkuaiyun.com/shen_jz2012/article/details/506313172.malloc、calloc、realloc的使用和区别:https://blog.youkuaiyun.com/zhengqijun_/article/details/52027070和https://blog.youkuaiyun.com/arrowyl/article/d...原创 2019-03-12 23:22:22 · 186 阅读 · 0 评论 -
【PTA数据结构个人总结】
04-树5Root of AVL Tree(25分)An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ b...原创 2019-04-05 17:10:45 · 617 阅读 · 0 评论 -
大顶堆和小顶堆的上滤和下滤
参考链接:https://blog.youkuaiyun.com/DragonBark/article/details/79196459总结一下:上滤一般应用于在一个已经排序好的二叉堆中插入一个新节点。首先在堆末新建一个空间,称为空穴,然后比较穴的值和其父节点的值。从宏观上看,空穴会自下而上地到达满足堆序的位置。下滤一般应用于删除了堆顶后的堆序重整过程中。删除堆顶后把新的堆顶放置在满足堆序的正确...原创 2019-04-16 23:01:56 · 1865 阅读 · 0 评论 -
06-图1 列出连通集 (25 分)C语言
给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{v1v2...v...原创 2019-04-14 00:49:07 · 3754 阅读 · 1 评论 -
07-图4 哈利·波特的考试 (25 分)
Floyd:https://www.cnblogs.com/skywang12345/p/3711523.html(超详细!超棒!关于二维数据做参数的解答:https://www.cnblogs.com/Anker/archive/2013/03/09/2951878.html这个代码根据老师的课程打很简单的。完全一模一样。(问题)但是有个问题我还没弄懂,就是:为什么对角线上的一定要设...原创 2019-04-24 20:11:39 · 161 阅读 · 0 评论 -
[leetcode javascript]503. 下一个更大元素 II 三种解法
三个方法,先贴代码。/*用穷举 运行时间320ms*/var nextGreaterElements = function(nums) { let result = []; for(let i = 0; i < nums.length; i++){ let val = nums[i]; for(let j = 0; j < num...原创 2019-09-07 13:55:30 · 270 阅读 · 0 评论 -
[leetcode javascript]739. 每日温度
739. 每日温度用到单调栈题解来源:https://leetcode-cn.com/problems/daily-temperatures/solution/jsyong-zhan-lai-shi-xian-onfu-za-du-by-bodyno//** * @param {number[]} T * @return {number[]} */Array.prototype...原创 2019-09-08 20:27:21 · 375 阅读 · 0 评论 -
【数据结构第一周】01-复杂度2 Maximum Subsequence Sum (25 分)
01-复杂度2 Maximum Subsequence Sum (25 分)Given a sequence ofKintegers {N1,N2, ...,NK}. A continuous subsequence is defined to be {Ni,Ni+1, ...,Nj} where1≤i≤j≤K. The Maximum...原创 2019-03-04 23:10:25 · 332 阅读 · 0 评论