余光的博客

如果你现在不努力,怎么对得起你的背井离乡?
私信 关注
余光、
码龄4年

一旦走出舒适区,你内心的痛点才是促使你前行的动力

  • 1,326,676
    被访问量
  • 310
    原创文章
  • 2,756
    作者排名
  • 2,078
    粉丝数量
  • 毕业院校 黑龙江大学
  • 于 2017-09-20 加入CSDN
获得成就
  • 博客专家认证
  • 获得2,755次点赞
  • 内容获得820次评论
  • 获得1,963次收藏
荣誉勋章
兴趣领域
  • #前端
    #JavaScript#面试#Vue.js#React.js#Flutter#小程序#ECMAScript 6#XHTML#HTTPS#CSS#前端框架#TypeScript#Node.js#WebPack
TA的专栏
  • 【前端进阶】
    25篇
  • JavaScript专项进阶
    10篇
  • JavaScript基础内功
    11篇
  • ES6基础系列
    4篇
  • CSS基础进阶
    19篇
  • 【算法与数据结构】
    26篇
  • 解题思想:二分法
    17篇
  • 数据结构:链表
    3篇
  • 数据结构:数组
  • 汇总:LeetCode题解
    128篇
  • dom操作
    1篇
  • 【别说不重要系列】
    4篇
  • 【移动端经验汇总】
    1篇
  • 【强大的canvas】
    1篇
  • 【Vue系列】
    10篇
  • 【JavaScript知识集合】
    24篇
  • 资源
    2篇
  • 【Node.JS入门】
    4篇
  • 【顺手的VsCode系列】
    4篇
  • 面试经验
    8篇
  • 项目练习
    3篇
  • jQ
    3篇
  • Node.JS
    7篇
  • ajax
    4篇
  • HTML
    5篇
  • 【HTTP系列】
    4篇
  • 【前端知识集合】
    20篇
  • CSS3
    3篇
  • Vue知识点
    10篇
  • React
    5篇
  • 【读书心得 | 个人总结】
    14篇
  • Git
    6篇
余光
虚心沉淀,直到遇见更好的自己
I’m 余光,一名前端开发工程师

I’m a console log tester

I'm currently working at 稿定设计

个人总结:余光的前端进阶笔记

LeetCode题解:Js版LeetCode题解

  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

CSS基础:Flex基本属性

CSS基础:Flex基本属性这篇文章我写的很纠结,因为flex布局作为“新”特性,写它的文章没有1w篇也有9999篇了,所以尽量为代码添加实例将flex布局介绍给大家,希望帮助大家和自己提高布局,一个很泛的词,在CSS早期,很多经典的布局都是依靠position+float+display属性。组合使用时稍有不慎就会导致棘手的问题。于是Flex诞生了,flex容器的主要特征是能够修改其子项的宽度或高度,以在不同的屏幕尺寸上以最佳方式填充可用空间。篇幅较长,点个收藏慢慢看?一、Flex是什么?
原创
15666阅读
16评论
47点赞
发布博客于 1 月前

CSS基础:CSS的上下文之层叠上下文

CSS的上下文之层叠上下文看到层叠,大家一定会联想到定位元素会是的元素之间发生“遮挡”,而z-index可以改变他们之间的遮挡优先级,但这仅仅是层叠这一概念中很小的一部分。本文就来聊一聊css中的层叠上下文到底是如何给元素规定叠加顺序的。一、什么是层叠上下文?层叠上下文,英文称作”stacking context”. 我们假定用户正面向(浏览器)视窗或网页,而 HTML 元素沿着其相对于用户的一条虚构的 z 轴排开,层叠上下文就是对这些 HTML 元素的一个三维构想。众 HTML 元素基于其元素
原创
13893阅读
9评论
35点赞
发布博客于 2 月前

CSS基础:CSS的上下文之BFC

CSS的上下文之BFC看到这个名词,可能会有些陌生,但其实 上下文 = 区域,如果这么理解的话就会有行级上下文、块级上下文、flex上下文等等有一定排列规则的区域,我们今天只聊一聊 块级格式化上下文(BFC)一、什么是BFC?BFC全称”Block Formatting Context”, 中文为“块级格式化上下文”。是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。下列方式会创建块格式化上下文(列举常见的方式):根元素(<html
原创
10861阅读
0评论
0点赞
发布博客于 2 月前

CSS基础:浅谈position

浅谈position定位(position)允许您从正常的文档流布局中取出元素,并使它们具有不同的行为,例如放在另一个元素的上面,或者始终保持在浏览器视窗内的同一位置—— MDN一、文档流什么是文档流?"文档流"是在对布局进行任何更改之前,在页面上显示"块"和"内联"元素的方式。通常是从上至下,从左到右的形式。这个"流"本质上是一系列的事物,它们都在你的布局中一起工作,并且互相了解。 一旦某部分脱离了"流",它就会独立地工作还记得我们提到了盒模型(块级元素和行级元素),这些单个的元素是如何组
原创
13348阅读
7评论
20点赞
发布博客于 2 月前

CSS基础:简述CSS盒模型

盒模型问题:简述 CSS 盒模型一、块级盒子(Block box) 和 内联盒子(Inline box)在 CSS 中我们广泛地使用两种“盒子” —— 块级盒子 (block box) 和 内联盒子 (inline box)。这两种盒子会在页面流(page flow)和元素之间的关系方面表现出不同的行为,我们这里不细分析如果转换他们的行为,仅做了解。1.1 块级(block)盒子会表现出以下行为:盒子会在内联的方向上扩展并占据父容器在该方向上的所有可用空间,在绝大数情况下意味着盒子会和父容器一样
原创
12743阅读
5评论
21点赞
发布博客于 2 月前

CSS基础:谈谈选择器的权重和优先级

你必须懂的css样式权重和优先级尝试给这篇文章前置一个问题;选择器的权重与优先级有什么关系?一、什么是权重?先来看下面这样两段代码,大家分析class="c"的标签内文字的颜色是?<style>.class-a .b .c { color: red;}.class-a .c { color: blue;}</style><div class="class-a" id="id-a"> <div class="b">
原创
12577阅读
11评论
30点赞
发布博客于 2 月前

JavaScript专题之代码简洁

JavaScript专题之代码简洁本年度第二篇文章,进了新项目组要了解的东西太多,之后我会保证定时输出有质量的文章这篇文章主要是想和大家一起学习一下,工作之中有哪些让我们眼前一亮的JavaScript代码简洁小技巧。注意:下面的代码对比没有绝对的正确和错误,有些写法的使用场景会比较单一,根据大家的习惯和喜好判断即可,如果有更好或不同意见欢迎留言交流哦~1. 短路操作:当我们遇到这样的情况的时候,你会是const res1 = item.a ? item.a : item.b // 看起来很是
原创
563阅读
1评论
2点赞
发布博客于 2 月前

总结自己的2020,展望2021

文章目录回顾之前的历程一、pandas是什么?二、使用步骤1.引入库2.读入数据总结回顾之前的历程提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as
原创
5287阅读
17评论
78点赞
发布博客于 3 月前

数据结构专题(一)二分法,寻找解题思路看这一篇就够了

和大家一起掌握二分法,本篇文章提供了三个模版,以及大量配套练习题,帮助大家清晰的认识二分法,逐渐了解、掌握相关问题。
原创
12370阅读
56评论
83点赞
发布博客于 3 月前

LeetCode题解:矩阵中战斗力最弱的 K 行

矩阵中战斗力最弱的 K 行一、题目给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示。请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。示例:输入:mat =[[1,1,0,0,0],[1,1,1,1,0],[1,0,0,0
原创
2449阅读
3评论
25点赞
发布博客于 3 月前

LeetCode题解:统计有序矩阵中的负数

统计有序矩阵中的负数一、题目给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。请你统计并返回 grid 中 负数 的数目。示例:输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]输出:8解释:矩阵中共有 8 个负数。二、题解/** * @param {number[][]} grid * @return {number} */var countNegatives
原创
825阅读
0评论
25点赞
发布博客于 3 月前

LeetCode题解:寻找比目标字母大的最小字母

寻找比目标字母大的最小字母一、题目给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。在比较时,字母是依序循环出现的。举个例子:如果目标字母 target = ‘z’ 并且字符列表为 letters = [‘a’, ‘b’],则答案返回 ‘a’示例:输入:letters = ["c", "f", "j"]target = "a"输出: "c"输入:letters = ["c", "f"
原创
822阅读
0评论
24点赞
发布博客于 3 月前

LeetCode题解:有效的完全平方数

有效的完全平方数一、题目给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如 sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False题解这道题是典型的模版I分析思路在有序的“数组”中,查找指定的元素每次排除一般的查找空间/** * @param {number} num * @return {boolean} */var isPerfectSqu
原创
838阅读
0评论
25点赞
发布博客于 3 月前

LeetCode题解:pow(x, n)

pow(x, n)一、题目实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25题解解题思路要判断 n 的正负,以确定我们的底是 x 还是 1/x经过分析 x^9 = x^4 * x^4 * x = (x^2 * x^2) * (x^2 * x^2) * x判断 n 的奇偶性,已确定是
原创
3969阅读
5评论
26点赞
发布博客于 3 月前

LeetCode题解:找到 K 个最接近的元素

本文是`二分查找-模版III` 的第最后一题,我会在之后将二分法的常见问题整理成完成的文档,我们一起加油~
原创
2914阅读
4评论
24点赞
发布博客于 3 月前

LeetCode题解:在排序数组中查找元素的第一个和最后一个位置

本文是二分查找-模版III 的第一题,后面的几道题的也算是本模版的微调版,加油~
原创
2041阅读
3评论
26点赞
发布博客于 3 月前

LeetCode题解:寻找旋转排序数组中的最小值

本文是二分查找-模版 II 的最后一题,接下来我们将面对更大的挑战,加油~
原创
2736阅读
5评论
29点赞
发布博客于 3 月前

LeetCode题解:寻找峰值

本文是二分查找-模版 II 的第二题,你可能意识到了,相对应的 leetcode 给他们标出中等的难度,加油!
原创
3964阅读
6评论
37点赞
发布博客于 3 月前

LeetCode题解:第一个错误的版本

本文是二分查找-模版II 的第一题,后面的几道题的也算是本模版的微调,加油~
原创
3404阅读
7评论
31点赞
发布博客于 4 月前

LeetCode题解:搜索旋转排序数组

搜索旋转排序数组(middle)更好的阅读体验应该是:审题-思考答题整理-归纳一、题目LeetCode:33.搜索旋转排序数组给你一个整数数组 nums ,和一个整数 target 。该整数数组原本是按升序排列,但输入时在预先未知的某个点上进行了旋转。(例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请你在数组中搜索 target ,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。示例 1:输入:nums = [4,5,6,
原创
3181阅读
5评论
48点赞
发布博客于 4 月前

LeetCode题解:猜数字大小

猜数字大小(easy)更好的阅读体验应该是:审题-思考答题整理-归纳一、题目LeetCode:374.猜数字大小猜数字游戏的规则如下:每轮游戏,我都会从 1 到 n 随机选择一个数字。 请你猜选出的是哪个数字。如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了。你可以通过调用一个预先定义好的接口 guess(num) 来获取猜测结果,返回值一共有 3 种可能的情况(-1,1 或 0):-1:我选出的数字比你猜的数字小 pick < num1:我
原创
2703阅读
3评论
22点赞
发布博客于 4 月前

LeetCode题解:x的平方根

本文是二分查找-模版 I 的第三题,仅仅是修改与目标值之间的关系,我们一鼓作气拿下下一道题吧!
原创
2403阅读
7评论
32点赞
发布博客于 4 月前

LeetCode题解:704.二分查找

本篇文章,利用leetcode中最经典的二分查找,带大家了解了分析这类问题的基础模版,我们称它为模版I,看过我的二分法总结的同学应该知道,凭借这套模版以及对应的分析,类似的easy问题应该难不住你了。
原创
2501阅读
10评论
32点赞
发布博客于 4 月前

LeetCode题解:35.搜索插入位置

LeetCode题解:搜索插入位置,二分法题解的第一篇文章,之后我会陆续整理更多二分法的文章,结合leetcode,和大家一起掌握这个思想
原创
3373阅读
5评论
45点赞
发布博客于 4 月前

ES6基础:Iterator和for...of

Iterator(遍历器) 和 for…of 循环遍历器(Iterator)就是这样一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)一、迭代器和 for…of 浅谈1.1 传统 for 循环先来看一段标准的 for 循环的代码:var arr = [1,2,3];for (let i = 0; i < arr.length; i++) { console.log(
原创
15351阅读
10评论
56点赞
发布博客于 4 月前

JavaScript 专题(九)数组中查找指定元素

上一篇文章中,我们了解了数组扁平化的思想,并学习了 lodash 是如何处理数组扁平化的。这次我们来讨论**在数组中查找元素**时所用的一些方法,并且参考lodash来实现我们自己的工具方法
原创
22466阅读
9评论
34点赞
发布博客于 5 月前

ES6基础:箭头函数

ES6基础系列(三)箭头函数简要分析一个为什么会有箭头函数,它的意义是什么?
原创
21591阅读
1评论
50点赞
发布博客于 5 月前

JavaScript专题(八)数组扁平化

> 数组扁平化这一概念大家都了解,但在实际写代码的时候是否思考过应该怎么实现它?或者说实现它的时候我们能收获什么呢?> 我们尽量用多种方法达到我们的目的,主流的,非主流的都搞一搞~
原创
28040阅读
6评论
66点赞
发布博客于 5 月前

JavaScript专题(七)类型转换

类型转换常常为人诟病,但实际上很多时候它们是非常有用的,有些强制类型转换可以明确告诉我们哪里发生了类型转换,有助于提高代码可读性和可维护性。但有些却发生在我们看不见的地方,所以我们今天来讨论一下平时常见的类型转换运算和操作~
原创
41058阅读
17评论
15点赞
发布博客于 6 月前

ES6基础:变量的解构赋值

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。这种方式的出现大大提高了代码的扩展性,在代码中完全使用解构赋值,也会大大提高代码的可以性和扩展性
原创
35300阅读
10评论
16点赞
发布博客于 7 月前

ES6基础:let和const

变量声明是我们在学习一门语言时,最先了解的部分之一。不要忽略它,我们一起来看看ES6中新增的两种变量声明命令吧~
原创
4197阅读
0评论
50点赞
发布博客于 7 月前

JavaScript专题(六)类型检测

JavaScript专题之如何判断数据类型目录一、typeof二、instanceof三、constructor四、stringTag是什么?五、实现几个数据检测的方法写在最后前言在《JavaScript的数据类型》中我们也提到过简单的类型检测问题。作为前端的同学,我们应该都知道可以使用typeof和instanceof在运行时判断JavaScript数据的类型,那么他们都是怎么判断的呢?一千个人会不会写出来一千个判断方法?本文会从通用的typeof、到专攻对象的instance.
原创
38964阅读
18评论
78点赞
发布博客于 7 月前

JavaScript专题(五)深浅拷贝

了解拷贝背后的过程,避免不必要的错误1. 介绍浅拷贝2. 介绍深拷贝3. 实现浅拷贝4. 实现深拷贝Js专题系列之深浅拷贝,我们一起加油~
原创
43416阅读
46评论
107点赞
发布博客于 8 月前

JavaScript专题(四)节流

相信当部分开发同学都会遇到节流这个问题,它的答案有很多种,但是想要真的的回答好这个问题却比较难,我们来尝试实现自己可用的节流方法
原创
38539阅读
44评论
76点赞
发布博客于 8 月前

JavaScript专题(三)防抖

在前端开发中会遇到一些频繁的事件触发,比如:resize、scroll、mousedown、mousemove、keyup、keydown……今天我们在实现属于自己的防抖函数!!!
原创
46439阅读
29评论
103点赞
发布博客于 8 月前

JavaScript专题(二)数组去重,会就要会的理直气壮

相信当部分开发同学都会遇到这个问题,它的答案有很多种,但是想要真的的回答好这个问题却比较难,我们今天来看看应该怎么回答这个问题。本文篇幅较长,不妨收藏下来慢慢阅读~
原创
42706阅读
64评论
106点赞
发布博客于 8 月前

JavaScript基础内功系列,这十篇文章里一定有你感兴趣的

前端基础内功这里总结了最经典、出镜率最高的一部分前端基础。希望能帮助自己和其他初级、中级前端同学打牢基础更进一步,加油!前言喜欢武侠或热衷武侠游戏的小伙伴门肯定了解,门派的弟子们在学习上乘武功大多需要有前置(硬性)条件的,而基础的内功就是硬性条件中的一个,也是较为重要的一个,同样的道理这一系列主要的是从另一个角度去学习JS的基础部分,因为本系列每篇文章上下呈衔接关系,所以推荐大家按循序阅读。刚参加工作的时候,一直就纠结于怎么解决某一个bug,只要“看不见”这个bug,就当时解决了问题,将它..
原创
37880阅读
3评论
58点赞
发布博客于 9 月前

JavaScript专题(一)变量提升与预编译,一起去发现Js华丽的暗箱操作

本系列的第一篇选择了一个很值得讨论的问题——变量提升,我们会从遇到问题、分析问题、解决问题、例题测试的方式加深大家对变量提升的认知,一起加油!
原创
38787阅读
33评论
74点赞
发布博客于 9 月前

你真的了解Js吗?用五个问题来回顾之前的内容,留下你的答案我们一起进步!(系列十)

灵感来自Amandeep Singh大佬的文章,也是我第一次翻译英文技术文章(仅翻译了前言和题目),问题主要考察的是作用域、this指向、立即执行函数、变量提升相关知识点,我在翻译加上了自己的思考和回答,如果有错误欢迎大家指正!
原创
41338阅读
37评论
96点赞
发布博客于 9 月前

JavaScript中的基本数据类型,地基同样重要(系列九)

Js中的数据类型虽然也是一个老生常谈的问题,但它经常出现在整个面试的前几问中,面试官会通过你的回答来决定之后问题的走向,比如当你回答基本数据类型时少回答了一个String时,那么面试官很可能就会问你String都有哪写方法哦~
原创
38665阅读
26评论
66点赞
发布博客于 9 月前

JavaScript中的参数传递(求值策略),ECMAScript中所有函数的参数都是按值传递吗(系列八)

本篇文章主要讲的是JavaScript中最正常不过的现象——函数参数传递,本篇文章篇幅不长,但一定能引发属于你自己的思考!
原创
40641阅读
11评论
76点赞
发布博客于 9 月前

JavaScript之闭包,给自己的Js一场重生(系列七)

JavaScript之闭包闭包——非常重要但又难以掌握的概念,理解闭包可以看作是某种意义上的重生——《你不知道的Js》代码+例题让你全程思路清晰!
原创
46143阅读
33评论
183点赞
发布博客于 9 月前

JavaScript之深入理解立即调用函数表达式(IIFE),你对它的理解,决定了它的出镜率(系列六)

本篇文章,主要讲解的立即执行函数或自执行匿名函数的含义、用法、以及使用它的主要场景。系列的前面几篇文章主要讲解了作用域、原型、执行上下文,本篇文章一样起到了承上启下的作用。
原创
45981阅读
54评论
130点赞
发布博客于 9 月前

还差五个粉丝,才能破百,小可爱们都在哪里啊!

发布Blink于 9 月前
JavaScript中的变量对象,简约却不简单(系列五)
发布Blink于 9 月前

JavaScript中的变量对象,简约却不简单(系列五)

本篇文章:主要介绍执行上下文的组成部分之一——变量对象(VO)和活动对象(AO)。本文是与系列的前几篇文章存在一定的承接关系,大家感兴趣的话不妨从头阅读~
原创
39896阅读
32评论
70点赞
发布博客于 10 月前

JavaScript中的执行上下文,既然遇见了这篇图文并茂的文章,干脆看完吧!(系列四)

本文主要会讲解我们经常看到执行上下文知识点,旨在帮助自己和大家加深对它理解。主要内容包括:1、描述执行上下文;2、执行栈;3、模拟执行栈;4、思考题。思维导图+流程图+代码的方式全方位轰炸你的大脑,一起进步!!!
原创
41785阅读
29评论
90点赞
发布博客于 10 月前
从作用域到作用域链,思维脑图+代码示例让知识点一目了然!系列(三)_博健的博客-CSDN博客
发布Blink于 10 月前

从作用域到作用域链,思维脑图+代码示例让知识点一目了然!系列(三)

作用域本篇主要总结了作用域的定义、作用域和作用域链的规则,全局变量和局部变量的关系,利用思维导图代替纯文字描述,提高收获,加油!
原创
40951阅读
21评论
36点赞
发布博客于 10 月前

Js系列已经总结了两篇文章(原型链、this)啦,预计今晚会有第三篇(作用域)与大家见面,希望大家多多交流,一起进步,共勉~ 1.原型链:https://blog.csdn.net/jbj6568839z/article/details/106555301 2.this指向:https://blog.csdn.net/jbj6568839z/article/details/106479511 您的点赞评论收藏三连,是我最大的动力

 
发布Blink于 10 月前

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《从原型到原型链,修炼JavaScript内功这篇文章真的不能错过!》, 一起来围观吧 https://blog.csdn.net/jbj6568839z/article/details/106555301 这么晚还没睡,小伙伴们该点鼓励和建议吧,虚心接受批评,我们共勉~

 
发布Blink于 10 月前
从原型到原型链,修炼JavaScript内功这篇文章真的不能错过!
发布Blink于 10 月前

从原型到原型链,修炼JavaScript内功这篇文章真的不能错过!系列(二)

从原型到原型链——Js内功心法中最关键的部分之一本文主要从构造函数 => 原型(隐式原型+显示原型)=> 原型链的顺序,渐进式讲解,希望对你有所做帮助,全文包含五部分,上下关联,我们共勉
原创
40033阅读
26评论
35点赞
发布博客于 10 月前

用心写了一篇入门文章,希望能帮助到你。求赞、求收藏、求评论、,来一套三连吧,虚心接受大佬们的批评和指导,好想和运营大佬们交流一下如果提高曝光。https://blog.csdn.net/jbj6568839z/article/details/106479511

 
发布Blink于 10 月前
this指向详解:思维脑图与代码的结合,让你一篇搞懂this、call、apply_this指向,前端开发,思维脑图_博健的博客-CSDN博客
发布Blink于 10 月前

this指向详解,思维脑图与代码的结合,让你一篇搞懂this、call、apply。系列(一)

一、学习this的指向问题二、call和apply的特点与区别三、模拟实现一个call四、bind的功能五、结尾思考题+导图+示例代码,让你轻松掌握!
原创
41559阅读
16评论
59点赞
发布博客于 10 月前

LeetCode题解:19.删除链表的倒数第N个节点

删除链表的倒数第N个节点一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定
原创
1980阅读
0评论
2点赞
发布博客于 10 月前

LeetCode题解:520.检测大写字母

检测大写字母一、LeetCode题解瞧一瞧(求star!)LeetCode题解Javascript版本:Gitbook版本传送门LeetCode题解Javascript版本:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如"USA"。单词中所有字母都不是大写,比如"leetcode"。如果单词不只含有一个字母,只有首字母大写, 比如 “Google”
原创
1794阅读
0评论
0点赞
发布博客于 10 月前

LeetCode题解:451.根据字符出现频率排序

根据字符出现频率排序一、LeetCode题解瞧一瞧(求star!)LeetCode题解Javascript版本:Gitbook版本传送门LeetCode题解Javascript版本:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:"tree"输出:"eert"解释:'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答
原创
1815阅读
0评论
2点赞
发布博客于 10 月前

LeetCode题解:387.字符串中的第一个唯一字符

字符串中的第一个唯一字符一、LeetCode题解瞧一瞧(求star!)LeetCode题解Javascript版本:Gitbook版本传送门LeetCode题解Javascript版本:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = "abcd"t = "abcde"输出:e解释:'e' 是那
原创
1539阅读
0评论
2点赞
发布博客于 10 月前

LeetCode题解:389.找不同

找不同一、LeetCode题解瞧一瞧(求star!)LeetCode题解Javascript版本:Gitbook版本传送门LeetCode题解Javascript版本:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = "abcd"t = "abcde"输出:e解释:'e' 是那个被添加的字母。
原创
1357阅读
0评论
1点赞
发布博客于 10 月前

LeetCode题解:374.猜数字大小

猜数字大小一、LeetCode题解瞧一瞧(求star!)LeetCode题解Javascript版本:Gitbook版本传送门LeetCode题解Javascript版本:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目我们正在玩一个猜数字游戏。 游戏规则如下:我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0
原创
1039阅读
0评论
0点赞
发布博客于 10 月前

LeetCode题解:137.只出现一次的数字 II

只出现一次的数字 II一、LeetCode题解瞧一瞧(求star!)LeetCode题解Javascript版本:Gitbook版本传送门LeetCode题解Javascript版本:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,3,2]输出: 3示例 2:
原创
1190阅读
0评论
1点赞
发布博客于 11 月前

LeetCode题解:61.旋转链表

旋转链表一、LeetCode题解瞧一瞧(求star!)LeetCode题解Javascript版本:Gitbook版本传送门LeetCode题解Javascript版本:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NUL
原创
1148阅读
0评论
1点赞
发布博客于 11 月前

LeetCode题解:430.扁平化多级双向链表

扁平化多级双向链表一、LeetCode题解瞧一瞧(求star!)LeetCode题解Javascript版本:Gitbook版本传送门LeetCode题解Javascript版本:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目多级双向链表中,除了指向下一个节点和前一个节点指针之外,它还有一个子链表指针,可能指向单独的双向链表。这些子列表也可能会有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。给你位于列表第一级的头节点,请你扁平化列表,使所有结点出现
原创
1237阅读
0评论
1点赞
发布博客于 1 年前

别说链表不重要(四):双链表的添加删除基本原理+Js实现一个双链表类

双链表的基本原理+目录一、双链表的特性二、双链表的添加原理三、双链表的删除原理四、设计双链表+实现代码关于我一、双链表的基本原理我们在前面的单链表的基本原理和实战中介绍了单链表。单链接列表中的结点具有 val 字段,以及用于顺序链接结点的“Next”引用字段。在本文中,我们将介绍另一种类型的链表:双链表。定义双链表以类似的方式工作,但还有一个引用字段,称为“prev”字段。有了这个额外的字段,您就能够知道当前结点的前一个结点。基本操作与单链表类似,我们将介绍在双链表中如何.
原创
1148阅读
0评论
1点赞
发布博客于 1 年前

别说链表不重要(三):链表高频面试题、经典问题一篇搞定

链表高频面试题、经典问题关于我decs: 19年毕业的前端开发一枚,沉迷Js花名: 余光E-mail: webbj97@163.com个人博客: CSDNGitHub: 传送门经典问题在阅读了单链表原理和双指针技技巧后,我们仍然在LeeCode上找出几个经典面试题,以此加强掌握。一、反转链表思路我们接受到链表 [1, 2, 3, 4, 5]首先,我们将head结点的...
原创
1184阅读
0评论
1点赞
发布博客于 1 年前

LeetCode题解:234.回文链表

回文链表一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true解法一(快慢指针+反转链表)...
原创
1167阅读
0评论
1点赞
发布博客于 1 年前

LeetCode题解:328.奇偶链表

奇偶链表一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),...
原创
1146阅读
0评论
1点赞
发布博客于 1 年前

淘宝首屏静态页面(HTML+CSS)布局练习.zip

适合刚接触前端基础知识的同学,初步了解了HTML+CSS后,可以尝试练习类似项目;该项目主要为HTML+CSS实现,不涉及交互、逻辑功能,旨在提高样式布局能力
zip
发布资源于 1 年前

别说链表不重要(二):双指针巧解链表经典问题,环形链表、相交链表

双指针技巧与链表的经典问题虚心接受批评和指正,互相成就,共勉!从这篇文章你会收获什么?双指针技巧;双指针的常见用法;经典问题;总结目录双指针技巧;环形链表环形链表II相交链表删除链表的倒数第N个节点注意指针:c语言中指针变量是用来存放内存地址的变量两种常用双指针技巧的情景两个指针从不同位置出发:一个从起点开始,一个从终点开始;两个指针以不...
原创
1211阅读
0评论
1点赞
发布博客于 1 年前

LeetCode题解:160.相交链表

设计链表一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果有环,则确定它的入口位置。注意:如果两个链表没有交点,返回 null.在返回结果后,两个链表仍须保持原有的结构...
原创
1165阅读
0评论
1点赞
发布博客于 1 年前

LeetCode题解:142.环形链表II

设计链表一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果有环,则确定它的入口位置。思路第一阶段,我们先确定当前链表是否存在环第二阶段,如果存在环,我们要确定入口的...
原创
1164阅读
0评论
0点赞
发布博客于 1 年前

别说链表不重要(一):单链表的实现原理+JavaScript实现实战+常见操作一篇搞定

链表的原理及Js基本实现虚心接受批评和指正,互相成就,共勉!从这篇文章你会收获什么?了解单链表和双链表的基本结构;在单链表或双链表中实现遍历、插入和删除;在链表中使用双指针技巧(快慢指针技巧);解决一些经典问题,例如反转链表;目录一、链表的由来及特点二、单链表2.1、添加节点2.2、删除节点三、设计链表四、双链表2.1、添加节点2.2、删除节点2....
原创
1248阅读
0评论
1点赞
发布博客于 1 年前

LeetCode题解:707.设计链表

设计链表一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属...
原创
1149阅读
0评论
1点赞
发布博客于 1 年前

LeetCode题解:504.七进制数

七进制数一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"解法一 (暴力)思路判断正负、0循环取...
原创
1158阅读
0评论
1点赞
发布博客于 1 年前

LeetCode题解:1389.按既定顺序创建目标数组

按既定顺序创建目标数组一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:目标数组 target 最初为空。按从左到右的顺序依次读取 nums[i] 和 index[i],在 t...
原创
1181阅读
0评论
0点赞
发布博客于 1 年前

LeetCode题解:1299.将每个元素替换为右侧最大元素

将每个元素替换为右侧最大元素一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。完成所有替换操作后,请你返回这个数组。示例:输入:arr = [17,18...
原创
331阅读
0评论
1点赞
发布博客于 1 年前

LeetCode题解:912.排序数组

题目一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给你一个整数数组 nums,请你将该数组升序排列。示例 1:输入:nums = [5,2,3,1]输出:[1,2,3,5]示例 2:输:nums = [5,1,1,2,0,0]输出:[0,...
原创
491阅读
0评论
1点赞
发布博客于 1 年前

LeetCode题解:896.单调数列

单调数列一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> ...
原创
216阅读
0评论
1点赞
发布博客于 1 年前

LeetCode题解:703.数据流中的第K大元素

数据流中的第K大元素一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,...
原创
352阅读
0评论
0点赞
发布博客于 1 年前

Leetcode题解 => 627.交换工资

交换工资一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个 salary 表,如下所示,有 m = 男性 和 f = 女性 的值。交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求只使用一个更新(Update)语句,并且没...
原创
324阅读
0评论
0点赞
发布博客于 1 年前

LeetCode题解 => 443.压缩字符串

压缩字符串一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门做题路线( ** = 当前阶段)阶段一(题库+每日一题(3.15日开始每天死磕))**阶段二(解题质量至上)阶段三(算法思想至上)二、算法题题目给定一组字符,使用...
原创
345阅读
3评论
0点赞
发布博客于 1 年前

JavaScript版LeetCode题解,你值得拥有

LeetCode题解Js版 https://webbj97.github.io/leetCode-Js/题外话博健的LeetCode题解:传送门前端笔记:传送门项目背景旨在提高自己对算法的理解,将题解总结成文章,有利于未来自查,也希望能对大家有所...
原创
1223阅读
1评论
1点赞
发布博客于 1 年前

LeetCode题解 => 70.爬楼梯

题目一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输...
原创
366阅读
0评论
0点赞
发布博客于 1 年前

LeetCode题解 => 83.删除排序链表中的重复元素

删除排序链表中的重复元素一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2...
原创
334阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:1323.6和9组成的最大数字(九十四)

6 和 9 组成的最大数字一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目给你一个仅由数字 6 和 9 组成的正整数 num。你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 。请返回你可以得到的最大...
原创
176阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:1299.将每个元素替换为右侧最大元素(九十三)

将每个元素替换为右侧最大元素一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。完成所有替换操作后,请你返回这个数组。示...
原创
204阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:1290.二进制链表转整数(九十二)

二进制链表转整数一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值...
原创
171阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:1365.有多少小于当前数字的数字(九十一)

交换数字一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数...
原创
191阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:交换数组(九十)

交换数字一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值。示例:输入: numbers = [1,2]输出: [2,1]提示:...
原创
148阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:1389.按既定顺序创建目标数组(八十九)

统计位数为偶数的数字一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:目标数组 target 最初为空。按从左到右的顺序依次读取 nums[...
原创
137阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:1295.统计位数为偶数的数字(八十八)

统计位数为偶数的数字一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。示例 1:输入:nums = [12,345,2,6,7896]输出:2...
原创
124阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:4.2最小高度树

三维形体的表面积一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。解法一 (递归)思路前提:遍历的是一个有序数组确...
原创
115阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:13.罗马数字转整数(八十七)

罗马数字转整数一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V ...
原创
139阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:12.整数转罗马数字(八十六)

整数转罗马数字一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V ...
原创
140阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:2.两数相加(八十五)

两数相加一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起...
原创
217阅读
0评论
0点赞
发布博客于 1 年前

LeetCode每日一题:删除链表的倒数第N个节点(八十四)

删除链表的倒数第N个节点一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook传送门前端进阶笔记:Gitbook传送门二、算法题题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, ...
原创
127阅读
0评论
0点赞
发布博客于 1 年前

iPhoneX安全区域与H5引发的问题(Safe Area)

iPhoneX安全区域引发的问题(Safe Area)瞧一瞧LeetCode题解:Gitbook版本传送门前端笔记:Gitbook传送门目录什么是安全区域?预留出Home Indicator指示条简单总结一、什么是安全区域?最近正在开发小程序相关的需求时,遇到了一个问题——ios高版本的安全区域,即iPhoneX及以上拥有的“刘海儿”等可滑动区域会与你开发的内容重合。...
原创
2823阅读
0评论
2点赞
发布博客于 1 年前

Vuex:store.commit和store.dispatch的区别

一、来源store.commit()mutation注册了一个变更状态的事件后,需要调用 store.commit()来进行状态变更例如:store.commit('aaa')store.dispatch()是dispatch是触发action的一种方法例如:store.dispatch('aaa')二、共同点:在更改状态、触发更改状态时都可以以载荷方式和对象方式进行分发....
原创
628阅读
0评论
0点赞
发布博客于 1 年前