自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 JS获取位置、滚动条、尺寸的总结

任何 DOM 对象都可以用,传入两个参数,在原来的基础上增加多少。:任何 DOM 对象都可以用,传入两个参数,设置滚动条的绝对位置。:获取或设置 DOM 元素的竖向滚动条距离。:获取或设置 DOM 元素横向滚动条的距离。如果要获取整个网页,要么获取。

2024-08-21 11:07:47 233

原创 原生JS实现虚拟列表

如果我们要将一个数组渲染为列表添加到页面中,我们可以很容易实现,无非就是循环遍历这个数组,然后依次创建 DOM 元素插入即可,但是如果数据量很庞大,比如有一万条数据,我们就要把一万个 DOM 结点插入到页面中,这显然会导致页面的卡顿。为了针对这个场景进行优化,让页面和我们这个列表不那么卡顿,就可以使用虚拟列表来解决。

2024-08-20 10:25:59 346

原创 LeetCode239.滑动窗口最大值

中最大的元素是 3,这是我们已知的,而我们滑动之后,3 没有被移出,并且移入的元素也比 3 小,这就意味着滑动之后区间内的最大的元素依然还是 3,对比前面的蛮力算法,这样的思路只要判断移入和移出元素,大大减少了重复运算。在这个例子中,窗口大小为 5,3 是最大值,如果我们不考虑后面的元素,我们光看窗口内的元素,也就是标红的元素,我们其实是可以找出哪些元素可能作为最大值的,在窗口中,可能作为最大值的元素只有。反过来想,如果在窗口内部,一个元素的右侧有比自己还大的元素,那这个元素一定不可能作为最大的元素。

2024-07-20 22:31:34 617

原创 flex-shrink计算上的一些细节

得到的比例为 1:1:6,所以超出的比例是按照 1:1:6的比例压缩的,容器宽度为 600,弹性项总宽度为 800,超出了 200,这 200 分成 1+1+6=8 份,每一份 25像素,1 号占一份,被压缩 25 像素,宽度为 200-25=175 像素,2 号占 1 份,被压缩 25 像素,也剩 175 像素,三号占 6 份,被压缩 150 像素,宽度为 400-150=250 像素。在上面的例子中,由于有 1 像素的边框,所以盒子内容区宽度的比值应该是 198:198:398,乘以对应的。

2024-01-24 11:44:10 431 1

原创 根据先序序列和中序序列构造二叉树

左子树和右子树为空的情况我们讨论完了,接下来考虑左右子树不为空的情况,如果左子树不为空,那么左子树的中序序列就是图中蓝色的部分,下标范围为[l2,i-1],而左子树的先序序列可以看到图中先序序列的蓝色部分,也就是[l1+1,l1+Llen],我们将其作为参数递归调用自身,就可以递归创建左子树。黄色为根节点,我用i去指向中序队列中的根节点,此时i左边的元素均为左子树上的元素,i右边的元素均为右子树上的元素。简而言之,pre,in为两个序列,l1,r1为pre数组的边界符,l2,r2为in数组的边界符。

2023-10-04 07:13:20 1201 1

原创 四舍五入为什么“不科学“

接下来回答如何解决这个问题,由于0.5我们是无法用其他数字将他的误差抵消掉的,所以我们就考虑把0.5分为两种情况,一种情况舍去,一种情况进位,这两种情况出现的概率均为50%,这样就可以让舍去的那部分抵消掉进位的那部分误差,所以就有了五成双的规则,很显然,当要舍去位为5时,他的前一位要么是偶数,要么是奇数,这两种情况的概率均为50%,所以当前面的位数为奇数,就进位,此时会将整体数值估计大,而当前面的数为偶数,就会舍去,此时又会将整体数值估计小,这二者可以相互抵消,也就消除了误差。我们以下面这组数据为例。

2023-09-29 17:28:02 311 1

原创 导数极限定理

在以前有一个问题一直困扰着我,对于分段函数的导函数是否可以用两侧导函数的极限去求,我曾长期认为我这种想法没有问题,并且对于高中时期的题目我也一直这么干,也没错过,但我从未求证过,直到看到了导数极限定理才解开了我的疑惑。以下先给出两侧导数的定义fx在x0​limΔx→0​ΔxΔy​limΔx→0​Δxfx0​Δx−fx0​​0Δxδfx在x0​limΔx→0−​ΔxΔy​limΔx→。

2023-09-29 12:11:01 423 1

原创 KMP算法

现在我们直到,主串中3号字符并不是a,而j应该回溯到的位置,也就是next[3]为1,我们发现模式串种第一个字符正好又是a,同样是a,既然3号字符匹配不上,那么1号字符也一定匹配不上,这是已经注定的,既然1号字符匹配不上,就会让他跳转到next[1]位置上去,既然3号字符匹配不上的1号字符也一定匹配不上,那回溯到1号字符似乎就是一个多余的操作,我们不如直接让3号字符回溯到下一个位置,也就是next[1]的位置,即0号位置,这就是KMP算法的改进思路,这种改进的next数组,我们称为nextval数组。

2023-09-27 10:20:52 67

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除