自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript进阶:从面向对象到Vue3响应式原理

本质上,Vue3的响应式系统就是对JS对象特性的深度应用理解对象 → 理解属性描述符 → 理解如何拦截属性↓Object.defineProperty(Vue2方案)↓Proxy + Reflect(Vue3方案)↓依赖收集 + 自动更新 = 响应式系统。

2026-06-14 18:12:13 346

原创 JS函数进阶:手写call/apply/bind与柯里化组合函数

把接收多个参数的函数,转化为一系列每次只接收一个参数的函数。// 柯里化​// 简写将多个函数串联起来,前一个函数的返回值作为后一个函数的输入,自动依次执行。// 需求:先把数组每一项翻倍,再求和var double = arr => arr.map(n => n ** 2) // num ** 2 表示数的平方​// 组合后console.log(compute([1, 2, 3])) // 12(先翻倍 → [2, 4, 6],再求和 → 12)

2026-06-07 17:47:26 329

原创 JavaScript 高阶知识:从 V8 引擎到闭包与 this 绑定

闭包 =函数 + 该函数能够访问的外部自由变量。JavaScript 中两种常见产生方式:// 方式一:函数作为返回值// 自由变量// 内部函数引用外部变量counter();// 2​// 方式二:函数作为参数});// 保留对 msg 的访问outer();

2026-05-31 19:11:57 354

原创 JavaScript 基础知识总结

/ 获取自定义属性。

2026-05-24 17:43:02 373

原创 移动端响应式开发

container { /* 有最大宽度限制,居中显示 */.container-fluid { /* 通栏,宽度100% *//* vmin:取视口宽高中较小的那个 - 适合横屏适配 *//* 元素宽度为视口的一半 *//* 最小200px,最大平分空间,不够自动换行 *//* 全屏高度 *//* 视口宽度单位:1vw = 1%视口宽度 *//* 视口高度单位:1vh = 1%视口高度 *//* 核心响应式代码,无需媒体查询 *//* auto-fit:拉伸填满容器 */

2026-05-17 14:47:06 403

原创 CSS动画与SVG技术详解

* 简单形式:from-to */​/* 多阶段形式:百分比 */过渡(Transition):实现状态平滑变化2D变换(Transform):位移、旋转、缩放、倾斜3D变换:透视、3D旋转、立体效果动画(Animation):关键帧动画、时间线控制滤镜(Filter):视觉特效处理SVG:矢量图。

2026-05-10 16:59:36 429

原创 web算法考核题解

从头遍历两个链表,对应位数相加,加上进位,得到的值为新链表的新节点值,记录新的进位。如果先将链表转化为整数再相加,之后再转化为链表,那么当链表足够长的时候,整数会超过long long 的范围,导致超时。输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]输入:nums = [4,5,6,7,0,1,2], target = 0。输入:nums = [4,5,6,7,0,1,2], target = 3。输入:nums = [10,9,2,5,3,7,101,18]

2026-05-04 06:25:52 357

原创 现代网页布局:浮动、弹性、定位、网格与多列布局

场景推荐布局理由导航栏Flex灵活的对齐方式商品列表自动换行、空间分配页面整体结构Grid二维布局能力文字环绕图片Float经典应用场景弹窗/提示框Position精确定位报纸排版Column多栏文字流吸顶导航Sticky滚动时固定。

2026-05-03 12:25:27 398

原创 HTML基础知识

双标签:成对出现,eg.<html>和

2026-04-26 18:19:06 353

原创 贪心算法典型例题讲解及总结

贪心算法不像动态规划那样有固定的递推公式,也不像回溯那样需要穷举所有可能,而是在每一步选择中都采取当前状态下最优的选择,从而希望导致全局最优的结果。然而,贪心算法最难的地方在于证明贪心策略的正确性,以及快速想到正确的贪心策略。本文将选取我在刷题过程中遇到的几道容易卡思路的贪心题目进行详细讲解,并总结贪心算法的适用场景与思考方法。题目具有最优子结构,但动态规划可能复杂度过高或状态转移不明显。每一步的决策只依赖于当前状态,且做出当前最优选择后不会影响后续决策的正确性(即“无后效性”)。常见题型区间问题。

2026-04-17 23:19:57 370

原创 动态规划——01背包与完全背包问题

找容量:题目要你达到的“总数”、“目标值”、“限制条件”是啥?那就是背包容量。找物品:数组里的每个元素有什么属性?它占据多少容量?能带来什么价值?定规则每个物品只能用一次 → 01背包(容量倒序每个物品无限用 → 完全背包(容量正序求最大价值 →max。求能不能 →dp[j]用布尔值。求方案数 →dp[0]=1,累加。

2026-04-12 13:03:09 468

原创 回溯算法:五大经典问题类型总结

类型是否考虑顺序结果收集时机控制重复的手段剪枝组合否叶子节点startIndex剩余元素不足子集否所有节点startIndex+ 排序去重无(全收集)排列是叶子节点used数组无分割是(按顺序切)叶子节点startIndex子串合法性提前判断棋盘是(按行/空格)叶子节点合法性检查冲突则跳过通用去重技巧组合/子集去重:先排序,同一层排列去重:先排序,同一层何时使用startIndex组合、子集、分割问题(不回头选前面的元素)排列问题不用startIndex。

2026-04-05 18:35:55 397

原创 数组模拟链表

data[idx]:存储第idx个节点的值。next[idx]:存储第idx个节点的下一个节点下标。head:头节点下标,初始为 -1(空链表)。idx:当前已使用的最大下标,用于分配新节点。#define N 100010 // 根据题目要求设定大小​双链表需要记录左右两个方向。我们使用三个数组,并设置两个哨兵节点简化边界处理。data[idx]:存储值。l[idx]:存储左节点下标。r[idx]:存储右节点下标。0号节点为左端点,1号节点为右端点。idx从 2 开始分配。​。

2026-03-29 17:11:02 382

原创 哈希表——从“两数之和”到“三数之和”的进阶

数据结构的选择至关重要:在 C 语言中,根据场景选择数组、uthash 或手写哈希表,能让代码事半功倍。哈希法虽好,但不是万能的:当题目对去重要求较高,或者结果集需要去重时,结合“排序+双指针”往往能简化代码逻辑,降低思维复杂度。时空复杂度分析:要时刻保持对 O(n) 和 O(n²) 的敏感度,哈希表就是用空间换时间的典型代表。

2026-03-22 18:28:30 536

空空如也

空空如也

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

TA关注的人

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