自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 错误类型和严格模式

JavaScript 中,有多种错误类型,每种类型代表了不同种类的运行时错误。

2023-08-14 15:55:23 47

原创 一道经典的函数面试题

这道题综合了函数的执行、构造函数、原型和原型链、new、变量提升、运算符优先级等知识点,所以答案看上去令人疑惑不解。

2023-08-14 15:51:41 59

原创 长度最小的数组和螺旋矩阵

长度最小的数组和螺旋矩阵

2023-02-04 11:26:23 83

原创 二分查找与双指针

二分查找与双指针

2023-02-01 21:06:24 108

原创 27-移除元素

27-移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-element著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。快慢指针var remove

2021-09-16 21:11:51 65

原创 26-删除有序数组中的重复元素

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。数组去重遍历数组,对于每一项,从当前项的下一步开始遍

2021-09-16 21:09:27 70

原创 11-盛最多水的容器(高频)

11-盛最多水的容器(高频)给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/container-with-most-water著作权归领扣网络所有。商业转载请联系官方授权,非商业

2021-09-16 21:08:32 48

原创 堆栈内存与数据类型

1. 堆栈内存(数据类型的存储方式)基础数据类型:栈内存,存放常量,按值访问引用数据类型:堆内存,存放复杂对象,按地址访问经典题目:var a = {n: 1};var b = a;a.x = a = {n: 2}; // 在这里注意成员访问的优先级,a.x = {n:2} , a = {n:2}console.log(a.x);console.log(b);![](https://img-blog.csdnimg.cn/img_convert/0e87fd55e72ef385859

2021-08-31 22:01:25 351

原创 Leetcode224:基本计算器

/** * @param {string} s * @return {number} */var calculate = function(s) { // res表示结果 let res = 0 // num表示标记数字 let num = 0 // 表示正负号,1为正数,-1为负数 let presign = 1 const stack = [] for(const c of s) { // 遇到的是数字

2021-08-15 23:11:43 63

原创 Leetcode151: 翻转字符串里的单词

1. 内置APIvar reverseWords = function(s) { // trim过滤前后的空格,split分隔,数组反转后连接成字符串 return s.trim().split(/\s+/).reverse().join(' ')};2. 反转过滤空格字符串反转字符串中的每个单词反转var reverseWords = function(s) { // 1.过滤空格,仅保留每个单词的间距空格 const sWithoutSpace = trim

2021-08-15 23:09:00 63

原创 沉思录(一)

关于前端复习的知识点的回顾,内容来自于网络,侵删大纲部分来自于:掘金-执鸢者说1.typeof和instanceoftypeof返回值是字符串类型的值可以用来判断number,string,boolean,undefined,object,function,symbol这几种类型。注意typeof null的结果为“object"typeof对象,数组,null的结果都是“object"js底层存储变量的时候,会在变量机器码的低位1-3位存储类型信息,而null所有机器码都是0typ.

2021-08-14 23:48:55 74

原创 Leetcode394: 字符串解码

字符串解码/** * @param {string} s * @return {string} 分析:由于是运算类的,只能先处理距离最近的数字,符合后进先处理的原则,应该使用栈 一个num栈存放数字 一个str栈存放字符串 */var decodeString = function(s) { let num = 0 let str = '' let numStack = [] let strStack = [] // 遍历字符串 for(con

2021-08-14 22:46:05 66

原创 Leetcode71-简化路径

71-简化路径/** * @param {string} path * @return {string} 分析:..会回到上一级目录,很像栈的出栈操作,目录不断拼接,很像栈的入栈操作,最终拼接后就是完整的目录 */var simplifyPath = function(path) { // 1. 字符串分隔得到数组 const dirs = path.split('/') const stack = [] for(const dir of dirs) {

2021-08-14 22:18:59 45

原创 Leetcode20.有效的括号

Leetcode有效的括号var isValid = function(s) { // 如果是奇数,则一定返回false if(s.length % 2 !== 0) {return false;} const stack = []; for(let i = 0;i<s.length;i++){ const cur = s[i]; // 遇到左括号,入栈 if(cur === '(' || cur === '[' ||

2021-08-14 21:55:12 57

原创 字符串-Leetcode

28.实现strStr()28. 实现 strStr() - 力扣(LeetCode) (leetcode-cn.com)字符串匹配是面试常见的问题暴力解法O(m*n)注意字符串的截取方法的差别substr(start,number)slice(start,end)substring(start,end)都接受两个参数对于substr()来说,第一个参数表示开始的位置,第二个参数表示返回的子字符串串数量。对于slice()和substrig(),第一个表示开始的位置,第二个表示截取到.

2021-08-03 10:21:04 117

原创 this解析

this解析通过一个对象来调用其内部的一个方法,该方法的执行上下文中的 this 指向对象本身ES6 中的箭头函数并不会创建其自身的执行上下文,所以箭头函数中的 this 取决于它的外部函数new 关键字构建好了一个新对象,并且构造函数中的 this 其实就是新对象本身

2021-07-28 21:15:12 202

原创 Day03 二维数组

根据某个元素的行列索引计算另一个元素的行列索引在二维数组中行走遍历根据二维数组某些元素计算另一个元素值867. 转置矩阵867. 转置矩阵 - 力扣(LeetCode) (leetcode-cn.com)(下图中右边第二行依次为(2,5,8)画图时错误思路:当行数和列数相等时,每一个元素的行和列互换即可。[i,j]放在[j,i]的位置上解答var transpose = function(matrix) { let m = matrix.length let n .

2021-07-27 13:21:09 150

原创 Vue.js基础语法(一)

初识Vue.js1. 简介1. 1 传统网页开发步骤1.2 传统网页开发的问题1.3 什么是Vue.jsVue是一种前端流行框架,更多内容参考官网2. Vue.js核心特性数据驱动视图:数据变化会自动更新到对应元素中,无需手动操作DOM。单向数据绑定:数据变化导致视图变化双向数据绑定:输入框等可输入元素,实现了数据和元素内容的双向绑定。MVVM模型ModelViewViewModel数据驱动视图的优缺点解放DOM操作View与Mo

2021-06-03 12:01:31 807

原创 数据结构之 链表

1. 链表 + 快慢指针:环型链表给定一个链表,判断链表中是否有环,存在环返回true,否则返回false.用O(1)的内存解决问题。1. 解题思路2. 数据结构及算法思维选择解法一:二次到达解法数据结构: 数组算法思维: 遍历解法二: 追击问题解法数据结构: 两个辅助变量算法思维:遍历、快慢指针3. 基本解法和编码定义数组记录已经访问的结点遍历链表的每个节点,并与数组中已经存放的节点依次比较:相同方法结束,返回true不同则存入最新位置,继续遍历下个节点

2021-06-03 10:47:04 52

原创 React(二)——JSX

本文内容来自于网络课程所做的笔记,侵删。1. 注释在JSX中遇到<会当做XML元素解析, 遇到{会当做JS解析,所以在JSX中不能使用HTML的注释JSX代码用于定义网页的结构, 而网页的内容中必然会包含内容,所以直接在JSX中使用单行注释//或多行注释/**/会被当做元素的内容处理正确打开姿势:https://zh-hans.reactjs.org/docs/faq-build.html在JSX中是不能使用HTML的注释的, 因为JSX会把它当做是一个元素来处.

2021-05-29 00:29:08 116

原创 React(一)——快速入门

本文内容来自于网络视频的笔记,侵删。1. React介绍1.什么是React?React 起源于 Facebook 的内部项目,因为Facebook对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一个框架,用来架设 Instagram 的网站。来源: https://reactjs.org/blog/2013/06/05/why-react.html2.什么是框架?框架是一个’半成品’,已经对基础的代码进行了封装并提供相应的API,开发者在使用框架时,可以复用框架中.

2021-05-28 20:53:41 241

原创 JavaScript数组去重的几种方式

11

2021-05-19 18:38:24 164

原创 Js(一):基本数据类型与数据类型转换

本文在书写过程中,参考了一些资料,并进行了来源标注。如果原作者觉得不合适,可以联系删除。另作者为初学者,欢迎各位前辈批评指正。1. 概述在ES6之前,JavaScript有五种基本数据类型(包括Number,String,Boolean,Null和Undefined)和对象类型(包括Array,Object,Function,Math,Date等)。2. 基本数据类型2.1 NumberNumber的意思是“数字”,其实js对于number并没有区分,但为了理解,参考其他编程语言,将其分为整.

2021-05-11 20:47:33 210

原创 Js(二)数组的相关操作

推荐阅读: JS数组奇巧淫技1. 数组对象数组也是对象,也可以通过构造函数生成。(有关对象的知识将在后面介绍,这里知道有这种写法即可)。1.1 数组的两种写法字面量方法 // 字面量方法 var arr = []; var arr = [1,2,3];构造函数var 变量名称 = new Array():创建一个空数组var 变量名称 = new Array(size):创建一个指定大小的数组var 变量名称 = new Array(data1,dat.

2021-05-11 20:45:47 213

空空如也

空空如也

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

TA关注的人

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