两个栈实现一个队列 思路栈:后进先出 队列:先进先出 将数据进入到一个栈,然后再让另一个栈接受弹出的数据,再pop第二个栈即可得到”先进先出”的序列 需要注意点: 一个数据出队列之后,如果再加入新的数据就会影响第二个栈的弹出顺序 例如:1,2,3,4——>4,3,2,1 1出队列之后加入5,如果还是第二个栈的状态就会先输出5,这明显是有问题的 所以需要在第二个栈弹出数据后再恢复到第一个栈的状态 代码123 2021-08-17 算法 #栈
重建二叉树 需求根据前序遍历和中序遍历来构建一颗二叉树 前序遍历:根左右 1,2,4,7,3,5,6,8 中序遍历:左根右 4,7,2,1,5,3,8,6 思路找到根节点 找到根节点的下标序号 从根节点区分开左子树和右子树 递归构建左右子树 当左右子树为空时,退出 代码12345678910111213141516171819202122let arr1 = [1,2,4,7,3,5,6,8] 2021-08-16 算法 #树
快速排序 思路从数组中取出一个基准数,小于它的数放在左边数组,大于它的数放在右边数组 递归进行上面的步骤 合并两个数组 代码12345678910111213141516171819202122let arr = [31, 23, 34, 2, 13, 234];function quickSort(arr) { //找基准数,并且将将比基准数小的全部放到左边,大于等于基准数的全部放在右边 2021-08-15 算法 #排序
reduce详解 语法1234567arr.reduce(function(prev,cur,index,arr){ ...},init);或者arr.reduce(function(prev,cur,index,arr){ ...}); prev 表示上一次调用回调时的返回值,或者初始值init cur 表示当前正在处理的数组元素 index(可选) 2021-08-13 JavaScript #JS基础
BFC的理解 BFC的理解块级格式化上下文,它是指一个独立的块级渲染区域,只有Block-level Box参于,该区域拥有一套渲染规则来约束块级盒子的布局,且与区域外部无关。 BFC现象 一个盒子不设置height,当内容子元素都浮动时,无法撑起自身 这个盒子没有形成BFC 如何创建BFC? 方法1:float的值不是none 方法2:position的值不是static或者relative 方法3:dis 2021-08-13 CSS #CSS
数组扁平化处理 方法一:使用flat12const arr = [1,[2,[3,[4,5]]],6];const res1 = arr.flat(Infinity); 方法二:正则表达式返回的是一个字符数组 12const res2 = JSON.stringify(arr).replace(/\[|\]/g,"").split(',');console.log(res 2021-08-13 JavaScript #JS基础
浅拷贝与深拷贝 存储位置在JS中,对于简单数据类型,比如number、null、undefined、string、boolean来说 它们的值是存在栈中的 而对于复杂数据类型,比如Object(array,function,Date)等,它的具体内容是存放在堆中的,在栈中存放指向该引用类型的地址 赋值知道了它存储的位置,对于赋值操作也就不难理解了 123456let arr = [1,2,3];let arr2 2021-08-09 JavaScript #JS基础
CSS轮播图 思路图片全体向左移动制作成动画,截取一段展示 制作下标同步动画展示 鼠标移入悬停效果 代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 2021-07-27 CSS #动画
animation动画(2) 修改关键帧速率制作弹性小球12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091<!DOCTYPE h 2021-07-26 CSS #动画
animation动画(1) animation关键帧使用1234567891011121314151617181920@keyframes [动画名字]{ from{ //起始 } to{ //结束 } //也可以采用百分比来控制 //始终从0%到100%变化,写的顺序不会影响效果,比如:先写100%,再写0%依 2021-07-24 CSS #动画