- 博客(58)
- 收藏
- 关注
原创 算法必刷题-螺旋矩阵
这段代码通过维护矩阵的上、下、左、右四个边界,按照顺时针螺旋的顺序依次遍历矩阵的顶部行、右侧列、底部行和左侧列。在每次遍历完一行或一列后,相应地调整边界,继续下一轮的遍历,直到所有元素都被遍历完。
2025-01-30 09:52:49
145
原创 串联所有单词的子串
这段代码的核心思路是通过遍历字符串 s,从每个可能的起始位置开始截取子串,然后检查该子串是否包含 words 数组中所有的单词且每个单词出现的次数也相同。处理边界情况,计算每个单词的长度和所有单词连接起来的总长度,统计 words 数组中每个单词的出现次数。从每个可能的起始位置开始,复制一份单词计数用于当前子串的检查。依次截取长度为 wordLength 的子串作为可能的单词,检查其是否在计数中且计数大于 0,若满足则减少计数并继续检查下一个单词,直到检查完整个子串或发现不符合要求的单词。
2025-01-30 09:29:41
283
原创 文本左右对齐
这段代码的核心思路是使用贪心算法来处理单词排版问题。首先,尝试在每一行中尽可能多地添加单词,直到无法再添加而不超过 maxWidth 限制。最后一行或只有一个单词:左对齐,单词间用单个空格连接,剩余长度用空格填充在末尾。其他行:计算平均每个单词间隔应有的空格数以及剩余的额外空格数,优先将额外空格分配到左侧的间隔中,以保证左侧的空格数多于右侧。
2025-01-28 09:36:05
346
原创 整数转罗马数字
values 数组存储了罗马数字符号对应的整数值,按照从大到小的顺序排列,包含了特殊的减法形式对应的数值(如 900、400 等)。symbols 数组存储了对应的罗马数字符号,与 values 数组中的值一一对应。
2025-01-28 09:05:46
328
原创 除自身以外数组的乘积
hello 大家好!今天开写一个新章节,每一天一道算法题。让我们一起来学习算法思维吧!为了在不使用除法且在 0(1)时间复杂度内完成计算,我们可以采用分别计算前缀乘积和后缀乘积的方法。具体思路是,先计算每个位置的前缀乘积(即该位置左侧所有元素的乘积),再计算每个位置的后缀乘积(即该位置右侧所有元素的乘积),最后将对应位置的前缀乘积和后缀乘积相乘,就可以得到除该位置元素之外其余各元素的乘积。
2025-01-27 16:00:36
293
原创 O(1) 时间插入、删除和获取随机元素
hello 大家好!今天开写一个新章节,每一天一道算法题。让我们一起来学习算法思维吧!为了实现 RandomizedSet 类,并且保证每个函数的平均时间复杂度为0(1) ,我们可以结合使用数组和哈希表。数组用于存储集合中的元素,哈希表用于记录每个元素在数组中的索引位置。这样在插入、删除和随机获取元素时都能高效地完成操作。
2025-01-27 15:54:57
492
原创 一文了解AI智能体,进入autoGen
比如如果我们在本地部署了Luma、通义千问等都可以链接,如果自己不想部署模型,可以直接对接商业模型,对接open AI或是其他的国内Sass提供的大模型接口。为了让AI更好的为我们提供服务,AI Agent应运而生,AI Agent也越来越多,例如GPTS、扣子、语聚、Dify.AI等。AutoGen 是一个框架,可以使用多个代理进行对话,解决任务,从而实现 LLM 应用的开发。这里的操作就类似于AI Agent平台了,我们可以在这里配置它的技能、工作流,通过这些实现一个AI Agent应用。
2024-08-09 10:15:20
656
原创 CSS页面效果——随机闪动的星空、loading效果、星星闪动
三种不同形状的星星样式(.pentagram-star、.triangle-star、.hexagon-star)分别定义了各自的形状和颜色,并应用了相同的闪烁动画 blink。通过以上的 HTML、CSS 和 JavaScript 代码的配合,实现了随机分布、不同形状、有先后顺序闪烁的星星效果,模拟出了夜空繁星的景象。body 样式设置了背景为从顶部的 #000033(较深的蓝色)到底部的 #000000(黑色)的线性渐变,营造出夜空的效果。元素 star-field,用于容纳后续创建的星星。
2024-07-03 12:20:01
1445
原创 CSS页面效果——点击 电池充电
为 .battery-level 元素的宽度变化添加平滑过渡效果,使其在充电过程中宽度的增加看起来更加自然。通过上述布局和逻辑的结合,实现了一个简单的华为手机电池充电效果的模拟。首先,创建一个名为 .battery 的容器,用于表示电池的外观。”的文字提示,通过绝对定位将其放置在电池容器的中心位置。在电池容器内部,创建一个 .battery-level 元素,用于表示充电的进度。初始时,其宽度为 0。当充电进度的宽度达到 100%时,使用 clearInterval 方法清除定时器,停止充电进度的增加。
2024-07-03 11:44:47
701
原创 CSS页面效果——极光晃动
在上述代码中,我们创建了一个黑色背景的页面,并使用::before和::after伪元素来创建两个极光效果的图层。通过linear-gradient创建了一个从绿色到蓝色、红色、紫色再回到绿色的渐变背景,并使用animation来实现晃动效果。你可以根据需要调整极光的颜色、大小、速度等参数,以获得不同的效果。
2024-06-29 16:47:52
374
原创 重排与重绘
重排与重绘什么是重排其他触发重排的操作什么是重绘什么是重排当我们的操作引发了DOM的几何变化,比如修改某个元素的宽高,显示隐藏属性等,在浏览器中,因为这个DOM元素发生变化而影响到其他元素,浏览器需要重新计算元素的几何属性,然后将计算的结果绘制出来,这个过程就是重排(也叫回流)。重排,多数情况下是由于元素几何属性变化引起的。当发生重排时,浏览器的工作过程如下其他触发重排的操作1.改变DOM结构,比如说节点的移动、增删等。2.获取特定的属性值,如offsetTop、offsetLeft、
2021-10-11 15:15:34
298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人