- 博客(18)
- 收藏
- 关注
原创 完全平方数--华为技术加面的手撕算法题
给你一个整数n,返回和为n的完全平方数的最少数量。是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,149和16都是完全平方数,而3和11不是。
2025-07-19 18:22:23
465
原创 js热点--防抖&节流(华为技术一面的手撕代码题之一)
防抖节流面试常考,也是非常实用的前端热点!要牢记“防抖像电梯等人齐再关门;节流像地铁固定 3 分钟一班。”的记忆口诀,弄懂本文的几种手撕实现!
2025-07-16 18:07:04
721
原创 js基础--判断变量类型的方法梳理
在实际开发中,可以根据具体需求选择合适的方法来判断变量类型。对于基本数据类型,typeof通常是最简单直接的方法;对于复杂类型或需要更精确判断的情况,可以使用instanceof或。对于数组类型,是最推荐的方法。
2025-07-10 10:17:56
295
原创 js基础--深拷贝和浅拷贝
深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是编程中(前端我们讨论js)常见的概念,尤其是在处理数据结构如数组和对象时。它们描述了复制数据时的不同行为和结果。
2025-07-10 01:31:22
405
原创 访问房间--记一道华为web前端技术二面的手撕真题
访问房间:钥匙i可以访问房间号为i的房间,每个房间中可以拿到一串钥匙(即一个数组),根据这串钥匙去访问对应房间,初始有吧钥匙0或者理解为房间号为0的房间门没锁。问是否所有房间都能被访问到?能则返回true,不能则返回false。
2025-07-10 00:56:52
167
原创 No.316去除重复字母(leetcode困难)
给你一个字符串s,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证(要求不能打乱其他字符的相对位置)。"abc""acdb"该题与 1081相同。
2025-07-03 17:30:39
481
原创 No.443压缩字符串(leetcode中等)
给你一个字符数组chars,请使用下述算法压缩:从一个空字符串s开始。对于chars中的每组1ss压缩后得到的字符串s,需要转储到字符数组chars中。需要注意的是,如果组长度为10或10以上,则在chars数组中会被拆分为多个字符。请在,返回该数组的新长度。你必须设计并实现一个只使用常量额外空间的算法来解决此问题。返回 6 ,输入数组的前 6 个字符应该是:["a","2","b","2","c","3"]"aa" 被 "a2" 替代。"bb" 被 "b2" 替代。"ccc" 被 "c3" 替代。
2025-07-02 19:15:15
667
原创 No.70爬楼梯
这里形成的数列正好是斐波那契数列,答案要求的 f(n) 即是斐波那契数列的第 n 项(下标从 0 开始)。我们来总结一下斐波那契数列第 n 项的求解方法:n 比较小的时候,可以直接使用过递归法求解,不做任何记忆化操作,时间复杂度是 O(),存在很多冗余计算。一般情况下,我们使用「记忆化搜索」或者「迭代」的方法,实现这个转移方程,时间复杂度和空间复杂度都可以做到 O(n)。
2025-07-01 02:02:02
257
原创 No.283移动零
给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。
2025-07-01 01:49:12
294
原创 No.1两数之和(leetcode简单)
因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。
2025-06-29 19:37:14
293
原创 No.2两数相加(leetcode中等)
给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
2025-06-29 18:23:29
350
原创 面向对象编程--ES6继承机制和mixin实现多继承
在 ES6 中,由于语言本身仅支持(通过extends只能继承一个父类)、(多个子类继承父类)和(一个子类继承父类,父类再继承祖父类),但可以通过 模式模拟和等复杂继承关系。
2025-06-27 16:46:51
613
原创 面向对象编程--ES6核心特性
ES6(ECMAScript 2015)引入了更完善的面向对象编程(OOP)语法,使得 JavaScript 的类(Class)和继承机制更加清晰和易用。
2025-06-26 20:46:41
904
原创 面向对象编程--JS原型和原型链
JavaScript 的继承和属性查找机制完全依赖原型和原型链,理解它们是掌握 JS 面向对象编程的关键!是它实现继承和属性查找的核心机制。理解它们,才能真正掌握 JavaScript 的面向对象编程。JavaScript 是一门基于原型的语言,。本质上是语法糖,底层仍然是基于原型的继承。dog (Dog 实例)dog (Dog 实例)对象自身 → 对象的。
2025-06-25 16:48:21
700
2
原创 JS基础--闭包和函数作用域
实际上是function先被定义好,而后点击,这期间i已经走完了for循环并自增成了5,且i是由var声明的,在整个函数作用域中共享同一个引用(这里可以理解为i变量存放的地址没变,而其值从1自增成了5),所以点击的时候,访问i的存放地址只能获取到值5,于是输出5+1=6。1、各个按钮点击都能输出值,说明都绑定上了点击事件,说明var声明的变量的递增是作用到了buttons[i](i=1,2,...,5)上,即五个按钮中的任何一个buttons[i].onclick都成功被赋值为一个function。
2025-06-24 11:37:23
213
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人