- 博客(28)
- 收藏
- 关注
原创 Web API中的requestAnimationFrame
requestAnimationFrame 适合需要高精度控制和动态调整的复杂动画。CSS 动画适合简单的、预定义的动画效果,特别是那些需要高性能且不需要频繁调整的场景。例如,可以使用 rAF处理复杂的交互逻辑,而使用 CSS 动画处理简单的视觉效果。
2024-11-03 14:59:02 965
原创 JavaScript完整笔记
JS引入JavaScript 程序不能独立运行,它需要被嵌入 HTML 中,然后浏览器才能执行 JavaScript 代码。通过 script 标签将 JavaScript 代码引入到 HTML 中,有两种方式:内部方式通过 script 标签包裹 JavaScript 代码我们将 < script>放在HTML文件的底部附近的原因是浏览器会按照代码在文件中的顺序加载HTML。如果先加载的JavaScript期望修改其下方的HTML,那么它可能由于HTML尚未被加载而失效。因此,
2024-10-25 14:54:36 1037
原创 JavaScript完整笔记
复习:splice() 方法用于添加或删除数组中的元素。注意这种方法会改变原始数组。删除数组:splice(起始位置, 删除的个数)比如:let arr = ['red', 'green', 'blue']arr.splice(1,1) // 删除green元素console.log(arr) // ['red, 'blue']添加元素splice(起始位置,删除个数,添加数组元素)let arr = ['red', 'green', 'blue']//arr.splice
2024-10-23 19:40:19 471
原创 移动应用开发实验室JS第一次考核
解释:垃圾回收是指自动释放不再使用的内存。程序在运行时会动态分配内存,但并不是所有被分配的内存都会一直被使用。垃圾回收机制的任务就是识别那些不再被使用的内存,并将其释放回系统,以便其他进程可以使用。首先是事件捕获阶段:从父到子的进行到目标阶段,捕获阶段的任务就是建立这个事件传递路线,以便后面冒泡阶段顺着这条路。解析:var存在变量提升,内层定义的tmp由于变量提升覆盖了外层定义的tmp,实际的执行如下。JS的事件流分成三个阶段事件捕获阶段、目标阶段、冒泡阶段。然后是目标阶段:事件捕获到目标进入目标阶段。
2024-09-18 18:27:22 695
原创 6.4分享会
严格意义上讲,我们在 JavaScript 阶段学习的知识绝大部分属于 ECMAScript 的知识体系,ECMAScript 简称 ES 它提供了一套语言标准规范,如变量、数据类型、表达式、语句、函数等语法规则都是由 ECMAScript 规定的。上述的例子中当用户分分别点击【开始】或【结束】按钮后,通过右侧调试窗口可以观察到 html 标签的内容在不断的发生改变,这便是通过 DOM 实现的。是 JavaScript 内置的专门用于 DOM 的对象,该对象包含了若干的属性和方法,
2024-06-04 16:13:45 1021 1
原创 每日算法4/21
最上面一行,机器人只能一直往左走:dp[0] [j] = arr[0] [j] + dp[0] [j-1];最左面一列,机器人只能一直往下走:dp[i] [0] = arr[i] [0] + dp[i] [0];根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉,下一个小时才会开始吃另一堆的香蕉。,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。每个小时,她将会选择一堆香蕉,从中吃掉。狒狒喜欢慢慢吃,但仍然想在警卫回来前吃掉所有的香蕉。因为路径 1→3→1→1→1 的总和最小。
2024-04-21 22:53:44 2063
原创 二分答案算法
跟二分查找类似,当我们要找某个量的最值的时候,可以在这个两最小可能的取值,和最大可能的取值之间二分,来快速找到答案check函数为了验证中间值是否符合题目要求,根据是否来决定下一轮区间界限是作曲兼缩小,还是右区间缩小。
2024-04-21 17:28:39 1947 1
原创 每日算法4/20
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。网格的左上角 (起始点在下图中标记为 “Start” )。从左上角开始,总共有 3 条路径可以到达右下角。你有多少种不同的方法可以爬到楼顶呢?1. 1 阶 + 1 阶 + 1 阶。1. 向右 -> 向下 -> 向下。2. 向下 -> 向下 -> 向右。3. 向下 -> 向右 -> 向下。有两种方法可以爬到楼顶。1. 1 阶 + 1 阶。有三种方法可以爬到楼顶。动态规划主要步骤就是。这时一道二维的DP题。
2024-04-20 21:07:26 775
原创 每日算法题补4/19
然后对于每个组,先描述字符的数量,然后描述字符,形成一个描述组。局部只要右边的孩子分比左边的孩子高的话,右边的孩子糖果数就比左边的孩子糖果数多;全局使得相邻的孩子中,评分高的右孩子比左孩子分配到的糖果多。countAndSay(4) = 读 "21" = 一 个 2 + 一 个 1 = "12" + "11" = "1211"「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。countAndSay(2) = 读 "1" = 一 个 1 = "11"
2024-04-20 01:06:17 853
原创 每日算法题
分配给所有商店的最大商品数目为 max(5, 5, 5, 5, 5, 5, 5) = 5。分配给所有商店的最大商品数目为 max(2, 3, 3, 3, 3, 3) = 3。11 件种类为 0 的商品被分配到前 4 间商店,分配数目分别为:2,3,3,3。6 件种类为 1 的商品被分配到另外 2 间商店,分配数目分别为:3,3。15 件种类为 0 的商品被分配到前 3 间商店,分配数目为:5,5,5。10 件种类为 2 的商品被分配到最后 2 间商店,数目为:5,5。
2024-04-20 00:37:52 922
原创 每日算法4/17
将 3 个球分别放入位于 1,4 和 7 的三个篮子,两球间的磁力分别为 [3, 3, 6]。在代号为 C-137 的地球上,Rick 发现如果他将两个球放在他新发明的篮子里,它们之间会形成特殊形式的磁力。然后遍历哈希中键值的位置,如果为1(代表着数组元素是唯一元素)那么增加到总数当中。先将数组映射到哈希中,索引就是数组元素,索引指向数组的值表示数组元素出现过几次。唯一元素为 [1,2,3,4,5] ,和为 15。唯一元素为 [1,3] ,和为 4。,那么它们之间的磁力为。没有唯一元素,和为 0。
2024-04-17 22:32:17 1004 1
原创 每日算法4/16
nums 可以划分成 (2, 2) ,(3, 3) 和 (2, 2) ,满足所有要求。无法将 nums 划分成 4 / 2 = 2 个数对且满足所有要求。指包含英语字母表中每个字母至少一次的句子。给你一个仅由小写英文字母组成的字符串。包含英语字母表中每个字母至少一次。6 / 2 = 3 个数对。
2024-04-16 22:00:00 571
原创 每日算法4/13
链表中,0 和 1 是相连接的,且 nums 中不包含 2,所以 [0, 1] 是 nums 的一个组件,同理 [3] 也是一个组件,故返回 2。链表中,0 和 1 是相连接的,3 和 4 是相连接的,所以 [0, 1] 和 [3, 4] 是两个组件,故返回 2。中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表。,那么另一个栈的数据就是按照出队列的顺序出栈。,该列表是上述链表中整型值的一个子集。由于栈是后进后出,而队列是先进先出,,该链表上的每个结点都有一个。
2024-04-14 01:41:14 786 1
原创 每日算法4/8
中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。反转后的字符串中不能存在前导空格和尾随空格。中使用至少一个空格将字符串中的。之间用单个空格连接的结果字符串。,从字符串开头算起,每计数至。是由非空格字符组成的字符串。
2024-04-08 23:54:41 462
原创 每日算法4/6
指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。利用快慢指针,如果链表成环,那么快指针一定会在一个节点与慢指针相遇。链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?来表示链表尾连接到链表中的位置(索引从 0 开始)。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。,请你反转链表,并返回反转后的链表。仅仅是为了标识链表的实际情况。,判断链表中是否有环。给你一个链表的头节点。
2024-04-06 22:42:47 951 1
原创 每日算法4/4
首先通过终止指针遍历得到元素之和,得到一组元素满足元素之和>=目标值的子数组,并记录下此时的长度,通过动态最小化记录最小子数组的长度,然后缩小左界限,如果仍然满足元素之和>=目标值,那么继续缩小子数组的左界限并记录。以上是一圈的输入,要进入下一圈的话,行列的起始位置,终止位置都会发生改变。终止位置回到退1,行列的起始位置会进1,然后同上进行一圈的循环输入。,所以最后还需要判断是否是奇数,如果是奇数,还需要输入中间的那个数组元素。如果不存在符合条件的子数组,返回。是该条件下的长度最小的子数组。
2024-04-04 21:48:24 370 2
原创 每日算法4/3
https://img-blog.csdnimg.cn/direct/3d896c9fa73d4c79b6bc11535e1db7e3.jpeg
2024-04-03 23:14:32 922 1
原创 二分查找LeetCode.33.
因为是找一个具体的数字而不是求一个边界,所以需要有等于号来保证最后左右边界收缩至同一位置时仍可以得到正确答案;同样的如果右方有序且确定目标元素位于该有序区间内,那么就将左边界收缩至mid - 1;二分查找是在有序数组之中,题目虽然将数组进行了旋转,但在一个分界处左右都是有序的,循环内都还没有返回查找到的位置,代表没有查找到目标值,所以根据题目得最后返回-1。到达此处说明mid与target的元素是不同的,直接舍弃即可;到达此处说明mid与target的元素是不同的,直接舍弃即可;按升序排列,数组中的值。
2024-04-02 22:43:44 449
原创 素数-欧拉筛LeetCode204.
当标记处为1时,表示序列i是素数,然后存入primer数组中,且每轮循环要进行非素数标记,当 i 可以整除素数表中某个素数时,那么 i 就不需要在往后乘其他素数了,说明prime[j]是i的一个素因子,并且是最小的素因子(因为是最早接触的素因子),所以i可以表示为i*prime[j]的形式。所以需要一个数组vis存放标记,数组几是倍增结果标记为0表示非素数,1表示是素数,另一个数组primer存放素数。常规的方法,对于这道题而言,运行时间太长,采用欧拉筛能节约很多时间,欧拉筛的时间复杂度是O(n)
2024-04-02 22:06:36 220
原创 单链表OJ题练习-Leetcode 206.反转链表
原链表这里我用了两种来解决。既然要使链表反转,那么原本n1->next=n2,n1指向n2(即n1存储n2的地址),就反转成n2指向n1(即n2存储n1的地址),这样两个节点就可以反转了。但这样会出现一个问题,n2->next存储的是n1的地址,却丢失了原本下一个节点的地址(即原来指向该节点的指针丢失了),会造成内存泄漏导致该节点无法访问,所以需要一个n3来保存下一个节点地址。:再用一个指针n3在进行逆转前存储下一个节点的地址,n3=n2->next将下一个节点地址存储防止丢失,
2024-03-26 23:31:00 1803
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人