自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法-数组转链表

题目:数组转链表代码:/** * 普通方法 * @param {Array} arr 要转换的数组 */function array2List(arr) { if(arr.length === 0) { return null; } let head = { value: arr[0], next: null }; // 临时变量,在循环中存储上一个节点 let prev = head; let node = {};

2021-10-18 00:08:25 685

原创 算法-删除链表的节点

题目:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例2:输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -&

2021-10-17 12:12:40 293

原创 算法-删除链表的倒数第 N 个结点

题目:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例2:输入:head = [1], n = 1输出:[]示例3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <= 1001 <= n <= sz代码:/** * Def

2021-10-17 11:48:38 248 1

原创 算法-反转链表

题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000代码:/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; *

2021-10-15 00:22:42 164

原创 排序算法-插入排序

实现原理:插入排序算法是基于某序列已经有序排列的情况下,通过一次插入一个元素的方式按照原有排序方式增加元素。这种比较是从该有序序列的最末端开始执行,即要插入序列中的元素最先和有序序列中最大的元素比较,若其大于该最大元素,则可直接插入最大元素的后面即可,否则再向前一位比较查找直至找到应该插入的位置为止。插入排序的基本思想是,每次将1个待排序的记录按其关键字大小插入到前面已经排好序的子序列中,寻找最适当的位置,直至全部记录插入完毕。执行过程中,若遇到和插入元素相等的位置,则将要插人的元素放在该相等元素的后

2021-10-14 00:41:31 225

原创 排序算法-快速排序

实现原理:快速排序的基本思想是:通过一趟排序算法把所需要排序的序列的元素分割成两大块,其中,一部分的元素都要小于或等于另外一部分的序列元素,然后仍根据该种方法对划分后的这两块序列的元素分别再次实行快速排序算法,排序实现的整个过程可以是递归的来进行调用,最终能够实现将所需排序的无序序列元素变为一个有序的序列。...

2021-10-13 23:48:44 83

原创 排序算法-选择排序

实现原理:选择排序算法的基本思路是为每一个位置选择当前最小的元素。选择排序的基本思想是,基于直接选择排序和堆排序这两种基本的简单排序方法。首先从第1个位置开始对全部元素进行选择,选出全部元素中最小的给该位置,再对第2个位置进行选择,在剩余元素中选择最小的给该位置即可;以此类推,重复进行“最小元素”的选择,直至完成第(n-1)个位置的元素选择,则第n个位置就只剩唯一的最大元素,此时不需再进行选择。使用这种排序时,要注意其中一个不同于冒泡法的细节。选择排序不是稳定的排序算法,它在计算过程中会破坏稳定性。

2021-10-13 00:08:07 101

原创 排序算法-冒泡排序

实现原理:冒泡排序算法是把较小的元素往前调或者把较大的元素往后调。这种方法主要是通过对相邻两个元素进行大小的比较,根据比较结果和算法规则对该二元素的位置进行交换,这样逐个依次进行比较和交换,就能达到排序目的。冒泡排序的基本思想是,首先将第1个和第2个记录的关键字比较大小,如果是逆序的,就将这两个记录进行交换,再对第2个和第3个记录的关键字进行比较,依次类推,重复进行上述计算,直至完成第(n一1)个和第n个记录的关键字之间的比较,此后,再按照上述过程进行第2次、第3次排序,直至整个序列有序为止。排序过程

2021-10-12 23:37:45 307

原创 前端工程化-微服务

前言:

2021-07-15 00:14:34 565

原创 前端工程化-loader机制

前言:

2021-07-14 00:33:06 782

原创 前端工程化-插件机制

前言

2021-07-10 22:18:30 409 1

原创 前端工程化-webpack工作流程

前言:

2021-07-09 00:14:18 547

原创 前端工程化-babel解析

前言:

2021-06-23 23:44:01 1609 1

原创 前端工程化-uglify解析

前言:

2021-06-22 00:34:13 1390 1

原创 前端工程化-tree-shaking

前言:

2021-06-21 22:20:53 501

原创 前端工程化-模块化机制

前言:

2021-06-20 20:29:14 323 1

原创 前端性能-合成层

前言:

2021-06-16 00:15:50 1303

原创 前端性能-动画性能

前言:

2021-06-10 00:45:20 421 2

原创 前端性能-页面渲染过程

前言:

2021-06-08 22:57:06 734 2

原创 前端性能-图片加载优化

前言:

2021-06-08 21:25:18 771 2

原创 前端性能-白屏

前言:

2021-06-07 22:48:32 355 4

原创 前端性能-重绘和重排(回流)

前言:

2021-06-04 00:28:03 986

原创 前端性能-优化手段

前言:

2021-06-02 23:43:10 150 1

原创 前端性能-分析性能

前言:

2021-05-28 00:02:14 471

原创 JavaScript-内存泄漏

前言:

2021-05-27 21:59:22 1111 2

原创 浏览器-工作原理

前言:

2021-05-25 22:27:56 96

原创 浏览器-架构

前言:

2021-05-25 22:15:10 643 1

原创 浏览器-缓存机制

前言:

2021-05-24 00:19:59 252

原创 浏览器-事件模型

前言:

2021-05-21 22:03:46 450

原创 浏览器-DOM树

前言:

2021-05-19 22:15:31 2913 14

原创 浏览器-路由的模式

前言:

2021-05-18 22:55:03 894 2

原创 浏览器-跨页面通信

前言:

2021-05-12 22:46:54 1128

原创 HTML-行内元素、块级元素

前言:

2021-05-11 23:07:10 196

原创 CSS-浮动

前言:

2021-05-11 00:22:53 185

原创 CSS-div居中

前言:

2021-05-10 00:36:40 239 1

原创 CSS-层叠上下文

前言:

2021-05-08 00:25:16 957

原创 CSS-性能优化

前言:

2021-05-07 21:59:32 315

原创 CSS-模块化

前言:

2021-05-06 23:13:19 1417 1

原创 CSS-css3新特性

前言:

2021-05-04 12:53:45 276

原创 CSS-圣杯布局和双飞翼布局

前言:

2021-05-03 21:31:55 157

空空如也

空空如也

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

TA关注的人

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