- 博客(438)
- 资源 (2)
- 收藏
- 关注
原创 【算法】字符串的排列
难度:中等给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true;否则,返回 false。换句话说,s1 的排列之一是 s2 的 子串。
2024-07-10 14:04:38
452
原创 【算法】验证回文串
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串。字母和数字都属于字母数字字符。给你一个字符串 s,如果它是 回文串 ,返回 true;否则,返回 false。示例 1:输入: s = “A man, a plan, a canal: Panama”输出:true解释:“amanaplanacanalpanama” 是回文串。示例 2:输入:s = “race a car”输出:false。
2024-07-07 20:44:17
270
原创 【算法】柱状图中最大的矩形
单调栈法之所以被想到,是因为它能够高效地处理当前柱子与其左右两边柱子高度的比较关系,利用栈的特性(后进先出)来快速确定每个柱子作为矩形高度时的左右边界。这种方法特别适合处理与顺序相关且需要快速检索“最近的特定条件”的问题。给定 n 个非负整数,用来表示柱状图中各个柱子的高度。输入:heights = [2,1,5,6,2,3]求在该柱状图中,能够勾勒出来的矩形的最大面积。解释:最大的矩形为图中红色区域,面积为 10。解释:最大的矩形为图中红色区域,面积为 4。输入:heights = [2,4]
2024-07-06 23:21:18
305
原创 【JavaScript】具有 iterable 接口的数据结构
在这个例子中,iterableObj 对象实现了 Symbol.iterator 方法,返回一个迭代器对象,通过 for…of 循环遍历时,依次输出迭代器返回的值。因此,具有 iterable 接口的数据结构是指支持迭代器协议,可以通过 for…of 循环或其他遍历方法遍历其成员的数据结构。在 JavaScript 中,具有 iterable 接口的数据结构包括。这些数据结构可以使用。循环进行遍历,也可以通过。迭代器对象需要包含一个。的方法,该方法返回一个。方法都会返回一个包含。
2024-07-06 16:14:21
306
原创 【JavaScript】浅拷贝与深拷贝
对象浅拷贝与深拷贝是我们经常在项目开发中遇到的问题。那怎么更好的实现呢?在JavaScript中,浅拷贝(shallow copy)和深拷贝(deep copy)是处理对象和数组拷贝时经常遇到的概念。它们主要区别在于的处理方式。
2024-07-06 12:47:20
1076
原创 【算法】有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。示例 1:输入:s = “()”输出:true示例 2:输入:s = “()[]{}”输出:true示例 3:输入:s = “(]”输出:false提示:s 仅由括号 ‘()[]{}’ 组成。
2024-07-04 23:20:01
147
原创 【算法】最长连续序列
给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。示例 1:输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。示例 2:输入:nums = [0,3,7,2,5,8,4,6,0,1]输出:9提示:我们做算法题的时候,一定先审好题:题目要求找出(不要求序列元素在原数组中的连续)的长度。
2024-07-03 11:45:23
313
原创 【算法】字母异位词分组
通过先把字符串转成数组,再进行排序,然后再转成字符串。如果是字符包含的字母相同,则最后得到转化之后的字符串都是一样的,接着再进行比较,这样复杂度降低了,逻辑更清晰了。
2024-07-02 21:43:52
354
原创 【算法】三数之和
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]输入:nums = [0,1,1]输入:nums = [0,0,0]解释:唯一可能的三元组和为 0。输出:[[0,0,0]]
2024-06-30 23:02:29
185
原创 【算法】两数之和
最简单的方法是通过两层for循环进行遍历, 使用暴力的查找两个子元素。但是这种方法的时间复杂度为O(n^2)。通过HashMap我们可以将时间复杂度降为O(2n)。给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。给定 nums = [2, 7, 11, 15], target = 9。因为 nums[0] + nums[1] = 2 + 7 = 9。
2024-06-29 16:49:15
180
转载 【计算机网络】HTTP状态码103:了解它的含义和应用场景
HTTP错误码是指在HTTP协议中定义的一系列状态码,用于表示客户端请求的处理结果。常见的HTTP错误码包括:1xx(信息性状态码)、2xx(成功状态码)、3xx(重定向状态码)、4xx(客户端错误状态码)和5xx(服务器错误状态码)。HTTP错误码103属于1xx状态码中的一种特殊情况。本篇博客介绍了HTTP错误码103的含义、应用场景和处理方法。HTTP错误码103是一种非常特殊的状态码,用于在服务器处理请求时,提前向客户端发送一些重要的提示信息。
2024-06-13 16:07:27
288
原创 什么,你连一个Node.js脚本都不会写!!!
最后,除了fs-extra给大家分享一些常用的第三方 Node.js 包,大家可以去实践一下,写各种各样的用于前端工程中自动化操作的 Node.js 脚本。yargs: 用于解析命令行参数。它提供了简单易用的 API,可以帮助您定义和解析命令行参数,支持选项、标志和参数的定义和解析。chalk:用于给命令行输出添加颜色,可以让输出更具有可读性和吸引力。cli-table:用于在命令行中创建漂亮的表格,方便展示数据。ora:用于在命令行中显示加载动画,可以提示用户正在进行某些操作。inquirer。
2024-06-04 09:39:39
682
转载 【前端工程化】深入浅出 Vite5 中依赖预构建
我们在使用vite启动项目时,细心的同学会发现项目 node_modules 目录下会额外增加一个 node_modules/.vite/deps 的目录:这个目录就是 vite 在开发环境下预编译的产物。项目中的「依赖部分」:ahooks、antd、react 等部分会被预编译成为一个一个 .js 文件。同时,.vite/deps 目录下还会存在一个 _metadata.json:hashoptimizedchunks简单来说vite在预编译时会对于项目中使用到的第三方依赖。
2024-05-07 17:41:28
256
转载 chrome 防止http自动转https的方法
chrome地址栏输入 chrome://flags/#https-upgrades。然后以后访问此网站时,就不会再自动跳转为https了。然后将选项设为 disabled。左上角,单击地址栏左边。不安全内容改为【允许】
2024-04-23 14:02:55
516
转载 【Node】process.env.npm_config_argv
如果你执行的命令是 npm run build – --watch,那么 remain 数组将是 [‘–watch’],因为 --watch 是传递给 build 的参数。使用上面的例子,cooked 数组将是 [‘run’, ‘build’, ‘–mode’, ‘production’],其中的每个参数都以字符串的形式表示。通过解析和使用这些参数,你可以根据需要来配置和调整你的打包过程,例如根据指定的参数来设置不同的构建模式、环境变量或其他配置选项。:这是一个数组,包含了 npm 命令后面的剩余参数。
2024-04-15 17:56:44
199
转载 【Node】Node.js中的使用Path模块操作文件路径
给定的路径的序列是从右往左被处理的,后面每个 path 被依次解析,直到构造完成一个绝对路径。例如,给定的路径片段的序列为:/foo、/bar、baz,则调用 path.resolve(‘/foo’, ‘/bar’, ‘baz’) 会返回 /bar/baz。以上是两种不同系统背景下的路径分隔符,接下来我们来了解编程语言背景下的分隔符使用,: 返回路径的扩展名,即从路径的最后一部分中的最后一个.(句号)字符到字符串结束。用于返回一个路径的最后一部分,也就是文件名。: 返回一个对象,对象的属性表示路径的。
2024-04-15 17:24:04
102
原创 【Node】Node.Js--fs文件系统模块
On(事件名称,回调函数) 添加事件,用于监听事件。如果文件已经存在,会清空文件中的内容然后写入数据。Pipe() 管道,可以将读取的流添加到写入的流。如果文件已经存在,会在文件的末尾追加写入数据。如果文件不存在,会先创建文件,然后写入数据。如果文件不存在,会先创建文件然后写入。后面会进行详细的补充;
2024-04-15 16:33:42
358
原创 DSBridge---跨端的原生与H5的通信框架
dsBridge是一个三端易用的现代跨平台 Javascript bridge, 通过它,你可以在Javascript和原生之间同步或异步的调用彼此的函数。最近在开发h5相关的需求,而且相关的h5页面会嵌入到app,h5页面有拍照、上传照片、上传文件等,拍照和上传照片可以使用UI组件提供的功能,但是上传文件这块需要用到原生的上传方法了。调研之后,我选择了dsBridge这个跨平台的Javascript bridge。我目前用的dsbridge版本是3.1.4首先先封装dsbridge相关的方法。
2024-04-15 15:10:31
850
转载 一文弄懂vue中样式穿透v-deep
在vue3的世界里,有一个style标签的关键字v-deep,官网称之为样式穿透。那他究竟是什么原理呢?又是怎么工作的呢?让我们一起探究一下。
2024-04-02 17:55:52
677
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人