前端冲冲冲
文章平均质量分 51
别打我,老疼了!
这个作者很懒,什么都没留下…
展开
-
【我眼中的】 - 原型与原型链
1. 一张图函数也是对象,对象的__proto__指向构造函数2. 什么是原型?每个JS对象(null除外)在创建的时候,就会与之关联的另一个对象,这个对象就是原型。3. 什么是原型链?由相互关联的原型组成的链状结构就是原型链。4. prototype每个函数都有一个prototype属性,指向调用该构造函数而创建的实例的原型。prototype是函数才会有的属性5. __proto__每个JS对象(处了null)都具有一个属性__proto__,这个属性会指向该对象的..原创 2022-04-06 14:02:24 · 954 阅读 · 0 评论 -
快速排序[js版]
介绍快速排序(Quicksort),简称快排。在平均状况下,排序n个项目要 O(nlogn) 次比较。在最坏状况下则需要O(n2)次比较,但这种状况并不常见。快速排序使用分治法策略来把一个序列(list)分为较小和较大的2个子序列,然后递归地排序两个子序列。快速排序步骤为:1.挑选基准值:从数列中挑出一个元素,称为“基准”2.分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(与基准值相等的数可以到任何一边)。在这个分割结束之后,对基准值的排序就已经完成3原创 2022-02-28 21:45:12 · 277 阅读 · 0 评论 -
环形链表【Leetcode】
题目给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。解题思路题目需要解决两个问题:如何判断链表中有环?链表存在环,如何查找到入口?如何判断链表中有环?可以采用快慢指针法,慢指针一次走一步,快指针一次走两步,如果链表中存在环,两指针一定会在环内相遇。链表存在环,如何查找到入口?这表明原创 2022-02-28 21:42:01 · 206 阅读 · 0 评论 -
斐波那契数列[剑指offer]
题目[简单、动态规划]题解斐波那契数列可以采用递归解法,但是递归法重复计算部分太多,因此选择使用动态规划解答。动态规划的特点是:最优子结构、无后效性、子问题重叠。function Fibonacci(n){ let [a,b] = [0,1]; while(n--){ b=a+b; a=b-a; } return a;}module.exports = { Fibonacci : Fibonacci};文章链接:原创 2022-02-28 21:40:24 · 108 阅读 · 0 评论 -
二叉搜索树的第k个结点 [ 剑指offer ]
题目题解法一:将二叉搜索树的中序遍历的结果存入数组中,取数组的第k个结果。function KthNode(pRoot, k){ if(!pRoot || k<1) return; return gotoArr(pRoot)[k-1];}let res = [];function gotoArr(root){ // 中序遍历结果存入数组 if(!root) return; gotoArr(root.left); res.push(r原创 2022-02-20 21:06:26 · 130 阅读 · 0 评论 -
二叉树的深度[剑指offer]
题目[简单、递归]题解树的深度 = max(左子树深度,右子树深度)+1function TreeDepth(pRoot){ //递归出口 if(pRoot===null) return 0; let left = TreeDepth(pRoot.left); let right = TreeDepth(pRoot.right); return 1 + (left>right?left:right);}还有层次遍历的方法,待补充……★转载请原创 2022-02-20 20:46:42 · 107 阅读 · 0 评论 -
二叉树的镜像[剑指offer]
题目[简单、递归]题解交换二叉树的左右子树function Mirror( pRoot ) { //递归出口 if(pRoot === null){ return pRoot; } else { [pRoot.left,pRoot.right] = [pRoot.right,pRoot.left] } Mirror(pRoot.left); Mirror(pRoot.right); return pRoot原创 2022-02-20 20:13:34 · 177 阅读 · 0 评论 -
把二叉树打印成多行[剑指offer]
题目[中等、队列]题解解题思路:树的层次遍历+使用两个变量(a.记录当前行的节点数目 b.记录下一行的节点数目)每一行的节点都要放到一个数组内部function Print(pRoot){ let res = []; //最终结果 let queue = [];// 层次遍历queue let temprow = [];// 存放每一层的结点 if(!pRoot) return res; queue.push(pRoot); let ne原创 2022-02-19 14:42:18 · 125 阅读 · 0 评论 -
搭建vue项目
1.搭建项目1.1使用Vue UI搭建文章链接: 搭建vue项目★转载请注明来自 QW’s Blog!★原创 2022-02-19 14:39:55 · 298 阅读 · 0 评论 -
比较版本号【leetcode】
比较版本号描述:给你两个版本号 version1 和 version2 ,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较 忽略任何前导零后的整数值 。也就是说,修订号 1原创 2022-02-15 21:57:02 · 284 阅读 · 0 评论 -
本地项目上传至GitHub
0.需求说明本地创建项目,github上未存在该项目的repository,现在要将该项目上传至github。1.操作步骤1.1 GitHub中新建仓库注意:GitHub中新建的仓库名称需要与本地的项目文件夹的名称一致1.2本地项目文件夹下运行命令点击“Git Bash Here”,打开git命令行。运行命令:git initgit add .git commit -m 'initproject'(git commit -m '提交信息说明')git remote add原创 2022-02-15 21:54:26 · 251 阅读 · 0 评论 -
阿里iconfont使用方法
阿里巴巴iconfont的使用方式分为两种:本地使用线上引用iconfont-阿里巴巴矢量图标库0.前期准备使用时先到网站上选中需要使用的图标添加至项目1.本地使用1.下载项目至本地2.解压到项目中3.在页面中引入样式<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=dev原创 2022-02-14 19:44:30 · 6989 阅读 · 0 评论