自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Web APIs : DOM 注册事件

能够判断函数运行的环境并确字 this 所指代的对象理解事件的作用,知道应用事件的 3 个步骤学习会为 DOM 注册事件,实现简单可交互的网页特交。

2024-06-10 21:08:54 934

原创 JavaScript 基础 - 对象

null 也是 JavaScript 中数据类型的一种,通常只用它来表示不存在的对象。是 JavaScript 中内置的对象,称为数学对象,这个对象下即包含了属性,也包含了许多的方法。数学对象提供了比较多的方法,这里不要求强记,通过演示数学对象的使用,加深对对象的理解。扩展:也可以动态为对象添加方法,动态添加与直接定义是一样的,只是语法上更灵活。数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数。

2024-06-03 22:14:16 1026

原创 JS之函数

声明(定义)一个完整函数包括关键字、函数名、形式参数、函数体、返回值5个部分。

2024-06-01 22:24:43 519

原创 HTML5

以前布局,我们基本用 div 来做。div 对于搜索引擎来说,是没有语义的。<header>:头部标签<nav>:导航标签<article>:内容标签<section>:定义文档某个区域<aside>:侧边栏标签<footer>:尾部标签这种语义化标准主要是针对搜索引擎的这些新标签页面中可以使用多次在 IE9 中,需要把这些元素转换为块级元素其实,我们移动端更喜欢使用这些标签HTML5 还增加了很多其他标签,我们后面再慢慢学。

2024-05-19 20:46:52 127

原创 css定位、元素的显示与隐藏

1. display 显示隐藏元素 但是不保留位置2. visibility 显示隐藏元素 但是保留原来的位置3. overflow 溢出显示隐藏 但是只是对于溢出的部分处理。

2024-05-09 10:05:40 543

原创 css基础选择器及字体属性

④ 类选择器在修改样式中用的最多,id 选择器一般用于页面唯一性的元素上,经常和 JavaScript 搭配使用。所有的样式,都包含在 <style> 标签内,表示是样式表。标签选择器可以把某一类标签全部选择出来,比如所有的 <div> 标签和所有的 <span> 标签。① 类选择器(class)好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用。如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用。② id 选择器好比人的身份证号码,全中国是唯一的,不得重复。

2024-05-04 23:15:47 488

原创 关于HTML

1.HTML 指的是超文本标记语言 (Hyper Text Markup Language) ,它是用来描述网页的一种语言。2.HTML 不是一种编程语言,而是一种标记语言 (markup language)。标记语言是一套标记标签 (markup tag)。1.网页是图片、链接、文字、声音、视频等元素组成, 其实就是一个html文件(后缀名为html)2.网页生成制作: 有前端人员书写 HTML 文件, 然后浏览器打开,就能看到了网页.

2024-04-28 19:30:24 1139

原创 4.21算法

初始时,两个指针分别指向两个数组的头部。每次比较两个指针指向的两个数组中的数字,如果两个数字不相等,则将指向较小数字的指针右移一位,如果两个数字相等,且该数字不等于 pre,将该数字添加到答案并更新 pre 变量,同时将两个指针都右移一位。每创建一个新的节点,就在该节点中记录返回时的下标位置同(*returnSize)结合。3、遍历哈希 将每个节点中的单词->出现的次数(对应的下标)分组取出。首先对两个数组进行排序,然后使用两个指针遍历两个数组。是由重新排列源单词的所有字母得到的一个新单词。

2024-04-21 21:57:04 360

原创 大一考核题

如果i为1,第1天买入股票,那么递归公式中需要计算 dp[i - 1][1] - prices[i] ,即 dp[0][1] - prices[1],那么大家感受一下 dp[0][1] (即第0天的状态二)应该初始成多少,只能初始为0。的思想,可以从两个链表的第一个值进行比较,如果第一个链表的第一个值小于第二个链表的第一个值,则更新m的值为第一个链表,并将m->next用递归的形式更新,即将第一个链表的下一个值来跟第二个链表比较;否则,从链表的头节点开始往后遍历链表中的节点,寻找插入 cur 的位置。

2024-04-20 17:53:49 867 1

原创 4.20算法

如果i为1,第1天买入股票,那么递归公式中需要计算 dp[i - 1][1] - prices[i] ,即 dp[0][1] - prices[1],那么大家感受一下 dp[0][1] (即第0天的状态二)应该初始成多少,只能初始为0。由递推公式 dp[i][0] = max(dp[i - 1][0], -prices[i]);那么dp[i][0] = max(dp[i - 1][0], dp[i - 1][3] - prices[i], dp[i - 1][1] - prices[i]);

2024-04-20 16:49:07 743 1

原创 4.19算法

从代码角度上来讲:遍历 nums,从头开始用 count 累积,如果 count 一旦加上 nums[i]变为负数,那么就应该从 nums[i+1]开始从 0 累积 count 了,因为已经变为负数的 count,只会拖累总和。如果 -2 1 在一起,计算起点的时候,一定是从 1 开始计算,因为负数只会拉低总和,这就是贪心贪的地方!大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子,那么就应该优先满足胃口大的。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。

2024-04-20 00:24:48 626 1

原创 4.18算法

而消除一对相邻重复项可能会导致新的相邻重复项出现,如从字符串 abba 中删除 bb 会导致出现新的相邻重复项 aa出现。例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。如果遇到运算符,则将两个操作数出栈,其中先出栈的是右操作数,后出栈的是左操作数,使用运算符对两个操作数进行运算,将运算得到的新操作数入栈。

2024-04-18 21:19:24 958 1

原创 分享会内容

4.若输出栈为空且第一个栈中有元素,将第一个栈中元素复制到第二个栈中,将栈顶元素保存,当outtop>0时,将第二个栈中元素复制到第一个栈中。1.定义两个int类型的栈,大小为100,in用来存放数据,out用来输出数据;2.开辟一个队列的大小空间,将指针intop,outtop初始化为0,返回开辟的队列。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(用两个队列来模拟栈,只不过区别于用栈实现队列,这里没有输入和输出的关系,3.元素存入第一个栈中,存入后栈顶指针加1。

2024-04-17 21:38:19 597 1

原创 4.16算法练习

给定两个数组nums1和nums2,返回它们的交集。输出结果中的每个元素一定是的。我们可以。

2024-04-16 22:29:53 337

原创 4.14算法

给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。

2024-04-14 21:39:19 137 1

原创 4.13算法

窗口的起始位置如何移动:如果当前窗口的值大于等于s了,窗口就要向前移动了(也就是该缩小了)。窗口的结束位置如何移动:窗口的结束位置就是遍历数组的指针,也就是for循环里的索引。窗口就是 满足其和 ≥ s 的长度最小的 连续 子数组。所有元素,且元素按顺时针顺序螺旋排列的。如果不存在符合条件的子数组,返回。是该条件下的长度最小的子数组。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。由外向内一圈一圈这么画下去。每条边左闭右开的原则。坚持循环不变量原则。

2024-04-13 11:37:43 352

原创 4.12算法

给出由小写字母组成的字符串S会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

2024-04-12 23:26:53 295

原创 4.11练习

它意味着爬到第 x级台阶的方案数是爬到第 x−1 级台阶的方案数和爬到第 x−2 级台阶的方案数的和。很好理解,因为每次只能爬 1 级或 2级,所以 f(x) 只能从 f(x−1) 和 f(x−2) 转移过来,而这里要统计方案总数,我们就需要对这两项的贡献求和。接下来如何移动left 和right呢, 如果nums[i] + nums[left] + nums[right] > 0 就说明 此时三数之和大了,因为数组是排序后了,所以right下标就应该向左移动,这样才能让三数之和小一些。

2024-04-11 21:41:26 628

原创 4.10练习

因为特殊字符 # 的存在,字符串 str中 haystack部分的前缀函数所对应的真前缀必定落在字符串 needle部分,真后缀必定落在字符串 haystack 部分。如果一个长度为 n 的字符串 s 可以由它的一个长度为 n′ 的子串 s 重复多次构成,那么:n 一定是 n′ 的倍数;我们只需要保存前一个位置的前缀函数,其它的 j 的取值将全部为字符串 needle 部分的前缀函数。的前缀就是 s′ ,并且在这之后的每一个位置上的字符 s[i],都需要与它之前的第 n′ 个字符 s[i−n′] 相同。

2024-04-10 22:07:43 914 1

原创 4.9练习

判断重新输入后的字符串 s 的最后一个字符是否是空格,如果是,将最后一个空格赋值转义字符 ‘\0’;返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。第一个while循环找出字符串 s 的前空格,然后双指针遍历字符串 s ,消掉前空格并只保留字符串中每个单词之间的一个空格。在遍历字符串的过程中,只要让 i += (2 * k),i 每次移动 2 * k 就可以了,然后判断是否需要有反转的区间。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。

2024-04-09 21:32:52 224 1

原创 4.8练习

对于 A 和 B,我们使用二重循环对它们进行遍历,得到所有 A[i]+B[j] 的值并存入哈希映射中。对于哈希映射中的每个键值对,每个键表示一种 A[i]+B[j],对应的值为 A[i]+B[j] 出现的次数。当遍历到C[k]+D[l] 时,如果 −(C[k]+D[l]) 出现在哈希映射中,那么将 −(C[k]+D[l]) 对应的值累加进答案中。那看一下如何检查字符串t中是否出现了这些字符,同样在遍历字符串t的时候,对t中出现的字符映射哈希表索引上的数值再做-1的操作。中每个字符出现的次数都相同,则称。

2024-04-08 20:37:55 422 1

原创 链表相关习题

给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(如果pos是-1,则在该链表中没有环。pos,仅仅是为了标识链表的实际情况。链表。

2024-04-07 23:08:28 588

原创 leetcode19:删除链表的倒数第n个结点 和leetcode206:反转链表

给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。

2024-04-06 20:55:12 405 1

原创 Leetcode34:在排序数组中查找元素位置和Leetcode203:移除链表元素

对于给定的链表,首先对除了头节点 head 以外的节点进行删除操作,然后判断 head 的节点值是否等于给定的 val。如果 等于 ,则 head需要被删除,因此删除操作后的头节点为 head.next;如果不等于,则 head 保留,因此删除操作后的头节点还是 head。递归的终止条件是 head 为空,此时直接返回 head。当 head不为空时,递归地进行删除操作,然后判断 head 的节点值是否等于 val 并决定是否要删除 head。链表的定义具有递归的性质,因此链表题目常可以用递归的方法求解。

2024-04-05 19:45:39 452 2

原创 每日练习(4.4)

给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。

2024-04-04 22:23:50 421

原创 Leetcode1:两数之和 和Leetcode26:删除有序数组的重复项

当循环结束后,slow 的位置就是新数组的长度,因为所有不重复的元素都被复制到了数组的前面。如果不同,说明这是一个新的、不重复的元素,所以我们将它赋值给 nums[slow],并将 slow 指针向前移动一步。在循环内部,检查 nums[fast] 是否与它的前一个元素 nums[fast - 1] 相同。如果 nums[i] + nums[j] 等于 target,则找到了满足条件的两个数。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。,返回删除后数组的新长度。

2024-04-03 21:32:01 540

原创 leetcode14:最长公共前缀

2.函数通过两层循环来遍历数组的每一个元素,外层循环遍历第一个字符串(strs[0])的每一个字符,内层循环则遍历剩余的所有字符串。在内层循环中,函数比较当前位置的字符是否在所有字符串中都相同。如果有任何一个字符串在当前位置的字符与第一个字符串不同,那么函数就将第一个字符串在当前位置的字符设为字符串结束符(\0),并返回第一个字符串。3.如果两层循环都顺利结束,那么说明第一个字符串的所有字符都是所有字符串的公共前缀,函数直接返回第一个字符串。1.当数组长度为0时,返回空字符串。

2024-04-02 22:32:42 167

原创 三面试题分析

而当扫描到“右括号”且栈不为空时,出栈一个元素,并将其与该“右括号”进行匹配判断。当扫描到“左括号”(即'('、'['、'{'这三种),则将其入栈;否则,当扫描到“右括号”且栈为空时,则括号匹配失败;1.求出字符串s的长度,定义一个顺序栈并初始化。若栈不为空,则括号匹配失败;2.从左往右扫描字符串s。否则,括号匹配成功。

2024-04-02 22:12:16 172

空空如也

空空如也

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

TA关注的人

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