- 博客(109)
- 资源 (1)
- 收藏
- 关注
原创 css 实现满屏升空的气球动画
css 实现满屏升空的气球动画实现步骤step1 定义气球的样式,并在气球上添加白色椭圆形。step2 定义气球棒和气球口。step3 设置气球动画:实现气球从下到上匀速移动就可以升空了。step4 设置气球颜色、大小、位置变量。step5 生成多个气球盒子,将变量传入。
2023-12-22 17:56:12
1586
原创 微信小程序--判断目标元素是否在可视区域内(可视区域播放视频)
微信小程序判断目标元素是否在可视区域内(可视区域播放视频)1、创建对象实例2、获取/指定界面上的节点信息3、判断节点是否在当前屏幕可视区域
2023-12-14 18:10:37
1895
原创 常见经典动效实现总结(老虎机、打字机、纸牌翻转等等)
常见动效老虎机、打字机、纸牌翻转等等效果实现1、老虎机 2、打字机 3、纸牌翻转 4、水波纹
2023-04-08 14:37:00
3970
原创 微前端--qiankun原理概述
微前端概述微前端概念是从微服务概念扩展而来的,摒弃大型单体方式,将前端整体分解为小而简单的块,这些块可以独立开发、测试和部署,同时仍然聚合为一个产品出现在客户面前。可以理解微前端是一种将多个可独立交付的小型前端应用聚合为一个整体的架构风格。二》微前端架构核心1、技术栈无关:主框架不限制接入应用的技术栈,微应用具备完全自主权2、独立开发、独立部署:微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步更新3、增量升级。
2023-04-07 15:58:04
2965
原创 requestAnimationFrame 请求动画帧
requestAnimationFrame动画请求帧-----它是一个浏览器的宏任务。 requestAnimationFrame的用法与setTimeout、setInterval很相似,只是不需要设置时间间隔而已。requestAnimationFrame使用一个回调函数作为参数,这个回调函数会在浏览器重绘之前调用。它返回一个整数,表示定时器的编号,这个值可以传递给cancelAnimationFrame用于取消这个函数的执行
2023-04-02 22:55:45
3675
原创 算法系列-leetcode-剑指offer26.树的子结构
思路: 先找到b的根元素在a上是否存在,不存在直接false,存在的话再去比较a的左子树和b的左子树是否相同,右子树同理,递归可得;注意⚠️:a树上可能存在多个与b树根元素相同的点,如果第一个相同的点的子树上不存在b,则继续在a的子树上寻找。输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。B是A的子结构, 即 A中有出现和B相同的结构和节点值。
2022-09-27 15:33:21
273
原创 解决微信小程序报错request:fail url not in domain list
解决微信小程序报错request:fail url not in domain list
2022-09-20 11:51:18
7036
原创 微信小程序插件--wxml-to-canvas(生成图片)
小程序内通过静态模板和样式绘制 canvas ,导出图片,可用于生成分享图等场景
2022-07-26 11:21:43
14497
24
原创 微信小程序:全局状态管理mobx-miniprogram(类似store)
微信小程序:全局状态管理mobx-miniprogram,在小程序中,常常有些数据需要在几个页面或组件中共享。使用 MobX 来管理小程序的跨页面数据, 其实类似于vuex的store。
2022-07-07 19:33:47
5520
原创 nvm详解(mac环境nvm安装步骤及踩坑问题)
nvm-node版本管理工具xcode-select: note: no developer tools were found at 'xxx'command not found: nvm
2022-06-08 14:42:25
14524
8
原创 js 金额千分位转换
1.数字转千分位/* * 默认返回当前数字千分位格式 * 参数说明: * number:要格式化的数字 * decimals:保留几位小数 * dec_point:小数点符号 * thousands_sep:千分位符号 * roundtag:舍入参数,默认 "ceil" 向上取,"floor"向下取,"round" 四舍五入 * 默认为保留两位小数,以逗号隔开,四舍五入 * */export function formatCurrency( number: string |
2022-05-10 13:51:04
2461
原创 算法系列-leetcode-1480.一维数组的动态和
1480. 一维数组的动态和(简单)给你一个数组nums。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i])。请返回nums的动态和。示例 1:输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。示例 2:输入:nums = [1,1,1,1,1]输出:[1,2,3,4,5]解释:动态和计算过程为 [1, 1+1, 1+1...
2022-05-03 00:35:47
295
原创 算法系列-leetcode-34.二叉树中和为某一值的路径
剑指 Offer 34. 二叉树中和为某一值的路径(中等)给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22输出:[[5,4,11,2],[5,8,4,5]]深度优先遍历/** * Definition for a bin
2022-04-27 23:48:47
743
原创 算法系列-leetcode-42.接雨水
42. 接雨水(困难)给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 示例 2:输入:height = [4,2,0,3,2,5]输出:9动态规划/** * @para.
2022-04-25 22:59:59
171
原创 算法系列-leetcode-40.最小的k个数
剑指 Offer 40. 最小的k个数(简单)输入整数数组arr,找出其中最小的k个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]排序先排序在输出前k个数/** * @param {number[]} arr * @param {number} ...
2022-04-23 22:06:47
521
原创 算法系列-leetcode-1365.有多少小于当前数字的数字
1365. 有多少小于当前数字的数字(简单)给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案。示例 1:输入:nums = [8,1,2,2,3]输出:[4,0,1,1,3]解释: 对于 nums[0]=8 存在四个比它小的数字:(1,2,2 和 3)。 对于 nu
2022-04-22 23:17:15
184
原创 算法系列-leetcode-20.有效的括号
20. 有效的括号(简单)给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true栈遇到左括号进栈,右括号与栈顶元素作比较,栈顶元素不存在或者不匹配直接返回false,当栈为空时括号有效/** * @param {strin..
2022-04-21 22:34:28
341
原创 算法系列-leetcode-141.环形链表
141. 环形链表(简单)给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 false 。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tr
2022-04-20 22:25:58
180
原创 算法系列-leetcode-67.二进制求和
67. 二进制求和(简单)给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"进制转换先将两个二进制数转换成十进制,然后相加,最后再转换成二进制输出注意:用parseInt(num,2)转化当属值过大时会溢出出错,所以这里用BigInt进行转换。/** *
2022-04-19 23:03:20
1023
原创 算法系列-leetcode-32.从上到下打印二叉树(层序遍历)
剑指 Offer 32 - I. 从上到下打印二叉树(中等)从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]队列定义一个队列,根节点先进队列,每当一个结点出栈,就将这个节点的值放入最后的输出结果,并且将这个节点的左右孩子添加入队列。/** * Definition .
2022-04-18 23:27:25
279
原创 算法系列-leetcode-19.删除链表的倒数第 N 个结点
19. 删除链表的倒数第 N 个结点(中等)给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]计算链表长度我们首先从头节点开始对链表进行一次遍历,得到链表的长度 L。随后我们再从头节点开始对链表进行一次遍历,当遍历到第 L-n+1个节点时,它就是我们需要删除的节点。/** * Definition for singly-linked list. * func..
2022-04-17 23:48:28
368
原创 算法系列-leetcode-49.字母异位词分组
49. 字母异位词分组(中等)给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。示例 1:输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]输出: [["bat"],["nat","tan"],["ate","eat","tea"]]示例 2:输入: strs = [""]输出: [[""]]M...
2022-04-17 23:06:38
300
2
原创 算法系列-leetcode-55.二叉树的深度
剑指 Offer 55 - I. 二叉树的深度(简单)输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。递归/** * Definition for a binary tree node. * function TreeNode(
2022-04-17 20:27:10
431
原创 算法系列-leetcode-69.X的平方根
69. x 的平方根(简单)给你一个非负整数x,计算并返回x的算术平方根。由于返回类型是整数,结果只保留整数部分,小数部分将被舍去 。注意:不允许使用任何内置指数函数和算符,例如pow(x, 0.5)或者x ** 0.5。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。二分查找注意小数部分要舍弃从0和x开始,每次都取中...
2022-04-16 22:52:13
451
原创 算法系列-leetcode-121.买卖股票的最佳时机
121. 买卖股票的最佳时机(简单)给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大...
2022-04-16 00:29:57
374
原创 算法系列-leetcode-21.调整数组顺序使奇数位于偶数前面
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面(简单)输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。1.暴力循环奇数放入一个数组,偶数放入一个数组,合并/** * @param {number[]} nums * @return {number[]} */var exchang
2022-04-14 22:40:40
546
原创 算法系列-leetcode-55.平衡二叉树
剑指 Offer 55 - II. 平衡二叉树(简单)输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。递归判断左右子树是否为平衡二叉树/** * Definition for a binary tree node. * fu
2022-04-13 23:30:03
481
原创 算法系列-leetcode-111.二叉树的最小深度
111. 二叉树的最小深度(简单)给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2深度优先遍历/** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val===
2022-04-12 22:05:00
118
原创 算法系列-leetcode-70.爬楼梯
70. 爬楼梯(简单)假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶动态规划d[i] 表示爬到第 xx 级台阶的方案数,考虑最后一步可能跨了一级台阶,也可能跨了两级台阶,所以我们可以列出如下式子:d[i]=d[i-1]+d[i-2]/** * @param {number} n * @re
2022-04-11 19:58:40
323
原创 算法系列-leetcode-200.岛屿数量/419.战舰数量
200. 岛屿数量(中等)给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"]]输出:141..
2022-04-11 00:58:59
395
原创 算法系列-leetcode-300.最长递增子序列
300. 最长递增子序列(中等)给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2,3]输出:4
2022-04-10 16:12:51
155
原创 算法系列-leetcode-1019.链表中的下一个更大节点
1019. 链表中的下一个更大节点(中等)给定一个长度为n的链表head对于列表中的每个节点,查找下一个更大节点的值。也就是说,对于每个节点,找到它旁边的第一个节点的值,这个节点的值严格大于它的值。返回一个整数数组answer,其中answer[i]是第i个节点(从1开始)的下一个更大的节点的值。如果第i个节点没有下一个更大的节点,设置answer[i] = 0。示例 1:输入:head = [2,1,5]输出:[5,5,0]单调栈...
2022-04-09 19:19:39
936
原创 算法系列-leetcode-59.螺旋矩阵
59. 螺旋矩阵 II(中等)给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]目前只能想到最笨的办法,重复右->下->左->上顺序,直到中间的数/** * @param {number} n * @return {number[][]} */var generateMatrix = fu
2022-04-09 18:26:27
287
原创 算法系列-leetcode-128.最长连续序列
128. 最长连续序列(中等)给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。1.先排序去重后,查连续序列var longestConsecutive = function(nums) { //长度小于等于1等于本身即可 if(nums.length<=1) return nums.length let res=0 nums.sort((a,b)
2022-04-08 21:55:30
278
原创 算法系列-leetcode-206.反转链表
1.头节点插入法 新建一个链表,每往下取一次节点,都把这个节点当作是新链表的头节点,指向新建的链表/** * @param {ListNode} head * @return {ListNode} */var reverseList = function(head) { let res=null while(head!=null){ let node=new ListNode() node.val=head.val ...
2022-04-07 20:59:01
456
贪吃蛇小游戏-JavaScript/类
2023-12-23
前端-移动端-模拟手机侧滑删除
2023-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人