自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript专项训练 错题集

牛客JavaScript专项训练错题集

2023-08-16 19:05:30 807

原创 vue3 web在线音乐项目——蔚蓝音乐 开发记录

想基于vue3技术独立开发一个前端项目,以前做过一个基于vue2和uniapp仿网易云音乐的微信小程序,于是想再做个web版的。前端菜鸡一枚,仅个人记录,项目存在一些布局问题和逻辑bug。只做了我觉得比较核心有趣的几个页面和功能,还有挺多东西可以完善的,等有时间可以慢慢把功能补齐。进度条和歌词滚动还有鼠标拖拽进度条和歌词进度没有实现,歌词滚动还存在一点问题,如果是歌放到一半再打开歌词界面,会从歌词第一句快速滚动到目标位置,不会直接就是正在唱的那句。

2023-08-16 18:57:04 2018 2

原创 每日一题——LeetCode1779.找到最近的有相同X或Y坐标的点

方法一 循环遍历所有点。

2024-04-02 19:09:23 297

原创 每日一题——LeetCode1758.生成交替二进制字符串的最少操作步骤

交替字符串只有两种可能一种是01开头的如01010101...,另一种就是10开头的10101010....将s与两种可能的字符串都进行比较,看变成这两种字符串需要操作多少次,取更小操作次数。

2024-03-31 15:36:05 336

原创 每日一题——LeetCode1752.检查数组是否经排序和轮转得到

【代码】每日一题——LeetCode1752.检查数组是否经排序和轮转得到。

2024-03-30 16:49:20 424

原创 每日一题——LeetCode1748.唯一元素的和

【代码】每日一题——LeetCode1748.唯一元素的和。

2024-03-27 14:55:26 230

原创 每日一题——LeetCode1742.盒子中小球的最大数量

最大编号10^5,那么盒子的编号不会超过45,直接创建一个数组,数组长度动态分配为highLimit的位数m*9,然后数组的每一项来计数编号的和,返回数组中最大的那一项。就是统计所有编号的每位和,然后取出数量最多的那个和。

2024-03-26 14:06:31 251

原创 JavaScript es6之前实现继承的方法

【代码】JavaScript es5的实现继承的方法。

2024-03-25 14:08:12 858

原创 LeetCode——每日一题1736.替换隐藏数字得到的最晚的时间

没啥好说的,第一位要看第二位,第二位要看第一位,分和秒都往大取。

2024-03-25 13:36:11 165

原创 JavaScript 如何设置私有属性

是一个真正的私有变量,因为它是在一个立即执行函数表达式(IFEe)的作用域内定义的,外部代码无法直接访问。我们通过返回的对象中的。:当类的内部实现发生变化时,只要保持接口不变,就不会影响到使用该类的其他代码。是一个私有属性,因为它是在函数作用域内定义的,外部无法直接访问。:私有属性可以隐藏类的内部实现细节,只暴露必要的接口给外部使用。:防止外部代码随意修改类的内部状态,可能导致错误或不一致的状态。

2024-03-24 13:38:01 246

原创 每日一题——LeetCode1725.可以形成最大正方形的矩阵

一次遍历时就维护一个最大值maxlen,拿rectangles里每一项中的更下值和maxlen对比,相等就计数+1,如果大于maxlen就更新maxlen的值,计数重置为1。对于rectangles里的每一个二元数组,只要保留两个元素中更小的那一个就行,这样就转为了一维数组,然后计算一维数组中最大值出现了几次就行。

2024-03-24 13:11:11 280

原创 JavaScript 构造函数和普通函数的区别,new.target的作用

如果是,它执行构造函数的代码;如果不是,它抛出一个错误。通常用于创建和初始化对象,它们的名称通常以大写字母开头,并且当你使用。则没有这些限制,它们可以执行任何任务,并且可以被调用而无需使用。是一个特殊的属性,它允许你检测一个函数或构造函数是否通过。下面是一个简单的例子来说明。关键字调用它们时,它们会返回一个新对象。将返回指向该函数的引用;

2024-03-23 14:29:33 277

原创 每日一题——LeetCode2549.统计桌面上的不同数字

维护一个数组arr,初始值为n,每次循环将arr[i] % j(1<=j<=n) 如果结果为1则将j加入,当 n>1时,那么经过多次操作后,一定可以将 n−1,n−2,…,2 依次放到桌面上。最后将arr转为Set集合去重,Set的长度就是答案。当 n=1 时,桌面只有一个数字 1。

2024-03-23 14:17:57 380

原创 JavaScript object.is()和严格相等、非严格相等的区别

比较两个值时,如果它们的类型不同,JavaScript会尝试将它们转换为一个共同的类型,然后再进行比较。这个过程称为类型转换或类型强制。不会进行类型转换,如果两个值的类型不同,它们就被认为是不相等的。这个方法用来判断两个值是否相同。在大多数情况下表现相同,但处理。

2024-03-22 14:28:43 450

原创 每日一题——LeetCode1720.解码异或后的数组

由于 arr[0]=first已知,因此对 i从 1到 n−1依次计算 arr[i] 的值,即可解码得到原数组arr。0异或任何数,结果都是那个数本身。一个数异或它自己,结果总是0。方法一 异或运算的性质。

2024-03-22 14:18:00 339

原创 JavaScript 动态属性访问和静态属性访问

总结: 静态属性访问是在编译时就能确定的属性访问方式,使用点符号(.)或方括号([])来访问对象的属性;而动态属性访问是在运行时才能确定的属性访问方式,使用方括号([])来访问对象的属性,并将属性名存储在一个变量中。2.动态属性访问: 动态属性访问是指在运行时才能确定的属性访问方式。在JavaScript中,可以使用方括号([])来访问对象的属性,并将属性名存储在一个变量中。1. 静态属性访问: 静态属性访问是指在编译时就能确定的属性访问方式。

2024-03-21 13:49:11 857

原创 每日一题——LeetCode1716.计算力扣银行的钱

因为每周七天存的钱之和比上一周多 777 块,因此每周存的钱之和的序列是一个等差数列,我们可以用等差数列求和公式来求出所有完整的周存的钱总和。剩下的天数里,每天存的钱也是一个等差数列,可以用相同的公式进行求和。最后把两者相加可以得到答案。每七天为一个节点,从周一到周日每天比前一天+1,到了下一个周一,比上一个周一+1,再继续从周一到周日每天+1。方法二 等差数列求和优化(leetcode官方题解)

2024-03-21 13:25:53 248

原创 JavaScript 什么是动态执行,有哪些动态执行的方法

动态执行通常指的是在JavaScript中,代码在运行时才被确定或执行的过程。这意味着代码不是预先编写好的,而是在程序运行时根据某些条件或数据动态生成的。

2024-03-20 15:24:26 1188

原创 每日一题——LeetCode1710.卡车上的最大单元数

能装的箱子数是有限的,那么就要使每个箱子里的单元数尽可能大,将数组按照单元数进行排序,优先装单元数最大的箱子,再考虑后面的箱子。

2024-03-20 14:19:58 283

原创 JavaScript 什么是纯函数,有哪些常见的纯函数

纯函数是指那些不依赖于外部状态,也不改变外部状态的函数。在JavaScript中,纯函数的返回值仅由其输入参数决定,而且执行纯函数不会产生副作用,比如修改全局变量或修改传入的参数。

2024-03-19 17:14:51 756

原创 每日一题——LeetCode1704.判断字符串的两半是否相等

从头到尾简历字符串,判断字符是否是元音字符,如果是再判断i的值是字符串前一半还是后一半,前一半sum1++,后一半sum2++

2024-03-19 16:43:10 169

原创 每日一题——LeetCode1700.无法吃午餐的学生的数量

对于students[0]和sandwiches[0],如果它们相同就从两个数组中都删除第一个元素,进行下一次比较,如果他们不同,则把student第一个元素移到最后面去,再次进行比较,知道sandwiches[0]已经不存在在students数组里就可以结束循环,最后students数组的长度就是输出值。用s0记录students里0的数量,s1记录1的数量,碰到sandwiches[0]==0则s0-1,sandwiches[0]==1则s1-1,最后s0和s1的和就是剩下的学生数量。

2024-03-18 14:03:24 343

原创 每日一题——LeetCode1694.重新格式化电话号码

对于str每三个数分成一组,加一个破折号,当str的长度小于等于4时再分情况讨论,如果等于4就分为2+2形式,如果小于4,剩下的就为一组。首先去除number里面的破折号和空格,取出纯数字组成的字符串str。

2024-03-17 19:47:54 221

原创 js 常见基础问题 var、let、const的区别

varlet和const。

2024-03-16 17:37:25 614

原创 每日一题——1688.比赛中的配对次数

哇,这题怎么这么简单,上来直接奇偶判断循环秒了,一看官解,呵,果然也写的这么肤浅,这种题就懒得写题解了吧,下翻,方法二,holy shit,笑容立马收了起来。n个队伍,最后只有一个赢家,每场比赛只淘汰1个队伍,那么淘汰n-1个队伍就要n-1场比赛。

2024-03-16 17:16:20 146

原创 JavaScript 迭代器和生成器

迭代器是一种特定的设计模式,用于依次访问集合的元素而不必暴露其底层的表现形式。ECMAScript 6(ES6)引入了内建的迭代器,该标准定义了。简而言之,迭代器是关于如何遍历数据结构的规则,而生成器提供了一种有效而优雅的实现这些规则的方法。生成器无需一次返回所有结果,而是按需“生成”结果,这对于处理大数据集或无限数据流尤为有用。使用生成器可以非常方便地实现自定义迭代器。生成器是ES6中引入的一种特殊函数,它可以通过。关键字将函数的执行暂停,并在必要时通过生成器对象的。生成器也符合迭代器协议,因此任何被。

2024-03-15 20:56:16 360

原创 每日一题——LeetCode1684.统计一致字符串的数目

将allowd放入Set集合中,遍历words每一项的每一个字符看是否有allowd不含有的字符。方法二 Set+reduce() +every()方法一 Set()+双层for循环遍历。和方法一 一样的,写法不同。

2024-03-15 19:45:06 274

原创 每日一题——LeetCode2789.合并后数组中的最大元素

将数组倒序过来看,就是从最后一个数开始,如果它前面一个数小于等于它就可以把前面一个数吃掉同时加上前一个数的值形成一个新的数,如果碰到一个更大的数就吃不动了,那么就换那个更大的数去继续吃前面的数,以此类推,最后就可以吃出最大的值。

2024-03-14 13:40:50 774

原创 JavaScript 取整时用parseInt()和Math.floor()的区别

会根据数字的正负来决定是向上还是向下取整。总是返回整数部分,而。

2024-03-13 15:52:30 509

原创 每日一题——LeetCode2864.最大二进制奇数

要构造的数必须是奇数,则最低位必须为1,从字符串s中选择一个1放到最低位,按照贪心原则,其他的1全部放在最高位。

2024-03-13 14:05:54 327

原创 js 什么是函数柯里化,如何实现函数柯里化

闭包是一个有权访问另一个函数作用域内变量的函数。当一个函数返回另一个函数,并且这个返回的函数引用了外部函数的变量,那么这些变量会一直存在,即使外部函数已经执行完毕。函数柯里化(Currying)是一种将使用多个参数的函数转换成一系列使用一个参数的函数的技术。函数会返回一个新的函数。的参数数量,说明已经传入了足够的参数,这时。这个属性表示函数期望接收的参数数量。数组的引用,并且能够继续接收新的参数。2.如果传入柯里化函数的参数数量(,传入累积的所有参数,并返回结果。所需的参数数量时,它会调用原始函数。

2024-03-12 15:31:24 648

原创 每日一题——LeetCode1678.设计Goal解析器

将字符串转为数组,对数组进行遍历,碰到'G'保持不变,继续循环,碰到 '(' 看他后一位,是 ')' 则删除两个元素,添加一个 'o' ,不是则删除四个元素,添加元素 'al' ,最后将数组转回字符串。不需要原地修改command,也可以维护一个新字符串。方法一 splice。

2024-03-12 15:12:20 252

原创 每日一题——LeetCode1668.最大重复字符串

使用repeat()将word重复i次,看是否包含于sequence中,将最大的i赋值给k。方法一 includes()+repeat()秒了。方法三 KMP+动态规划。方法二 枚举+动态规划。

2024-03-11 14:50:42 723

原创 每日一题——LeetCode2129.将标题首字母大写

方法一 个人方法将字符串转为数组,遍历数组,对数组的每一个元素,先全部转为小写,如果当前元素长度大于2,将第一个字符转为大写形式var capitalizeTitle = function(title) { title=title.split(' ') for(let i=0;i<title.length;i++){ title[i]=title[i].toLowerCase() if(title[i].length>2){

2024-03-11 14:33:43 270

原创 js bind、apply、call的用法和区别

【代码】js bind、apply、call的用法和区别。

2024-03-10 18:00:58 182

原创 每日一题——LeetCode1652.拆炸弹

无论k大于0还是小于0,其实都是一个长度为k的绝对值的窗口,窗口往右移动,每次去掉窗口的第一个值,加入窗口的后一个值,当窗口的左边界或右边界到达数组末尾就要跳转到数组开头,每次窗口的和就是一个密码值。写完后发现k>0 ,k<0方法其实是一样的,考虑是否能将这两种情况合并,缩减代码。

2024-03-10 16:55:52 296

原创 js 清空数组的方法

虽然a数组确实变为了空数组,但这种方法只是修改了a的指向,把a指向一个新的空数组,然而[1,2,3,4,5]这个数组并没有被清除,依然保存在内存中。和方法1差不多,筛选出一个空数组然后赋值给原数组,但并没有清除原数组。可以真正做到将数组清除,且写法简洁。这种方法简单高效,最值得推荐。

2024-03-09 17:04:16 588

原创 js对象 静态方法和实例方法

第一个Person.say()是直接调用构造函数Person身上的静态方法say(),而且此时我们并没有调用过Person的构造函数,那么Person构造体内的代码也还是不存在的,第一个和第二个say()方法也都是不存在的,就只能调用第四个say()方法,该方法的输出为"d"使用Person构造函数创建了一个实例obj,调用obj.say()是调用实例方法say(),obj自身就有say()方法,所以不会到Person的原型上找say()方法,所以调用的是第二个say()方法,输出的是"b"

2024-03-09 16:31:53 461

原创 js里Object和Map的区别

一、键的类型Object的键必须是字符串或Symbol类型 Map的键可以是任何类型的值,包括函数、对象或其他Map实例二、键的唯一性在Object中,如果使用相同的键多次,后面的值会覆盖前面的值 在Map中,如果使用相同的键多次,后面的值不会覆盖前面的值,而是会形成一个值链三、迭代Object的迭代是依赖于键的插入顺序的,ES6之前没有标准的迭代方法 Map提供了迭代器,可以按照插入顺序迭代键四、性能对于小型数据集合,Object和Map性能差异不大 对于大型数据

2024-03-09 15:46:50 455

原创 每日一题——LeetCode1646.获取生成数组中的最大值

【代码】每日一题——LeetCode1646.获取生成数组中的最大值。

2024-03-09 14:58:45 285

CANape基础教程笔记.docx

Vector中国在b站上传的CANape工具基础教程的阅读笔记word版

2024-09-11

Vector公司的XCP标准书 有道翻译版

通过有道翻译软件对Vector公司的XCP标准书整个pdf文档进行翻译,翻译出来的内容可能不太准确,仅供参考

2024-08-21

湖南科技大学毕业答辩ppt模板.pptx

湖南科技大学毕业答辩ppt模板

2024-07-03

湖南科技大学商务智能复习重点总结

湖南科技大学商务智能复习重点总结 主要是名词解释和问答

2024-01-17

空空如也

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

TA关注的人

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