Emmet-Vim 极速指南:用缩写爆写 HTML/CSS

给 Vim/Neovim 用户的 Emmet 实战笔记:安装、常用映射、可运行示例、验证清单与常见坑,帮助你在写页面/组件时提升 3 倍速度。

2025年12月8日 · 4 分钟 · map[name:Jeanphilo]

别被 AI 牵着走:保持可独立完成的工程能力

讨论在使用 AI 辅助编码时如何避免复制粘贴依赖,结合费曼技巧、刻意练习与检索练习,给出可操作的自检清单与演练步骤。

2025年12月8日 · 1 分钟 · map[name:Jeanphilo]

排序专题(八):TimSort 与 Introsort——语言内置排序的工程范式

拆解 Python/Java 默认的 TimSort 与 C++ std::sort 的 Introsort:触发条件、稳定性、复杂度与工程取舍,附伪实现骨架与选型建议。

2025年12月8日 · 3 分钟 · map[name:Jeanphilo]

Svelte 按钮配置全攻略:状态、样式与无障碍实践

教你在 Svelte 中构建可复用的按钮:动态类名、可选链/空值合并、安全取值、状态样式映射、无障碍支持、测试与常见陷阱。

2025年12月7日 · 3 分钟 · map[name:Jeanphilo]

排序专题(七):非比较排序——计数、桶、基数的范围与位数之战

讲清非比较排序的适用前提、时间/空间复杂度、工程实现细节与常见坑,附计数/桶/基数排序的多语言示例。

2025年12月7日 · 3 分钟 · map[name:Jeanphilo]

排序专题(六):堆排序——原地 O(n log n) 的稳健方案

讲解堆排序的原理、复杂度与工程场景,对比快排/归并的取舍,附多语言实现和 top-k 应用示例。

2025年12月6日 · 3 分钟 · map[name:Jeanphilo]

排序专题(五):快速排序——枢轴策略、尾递归优化与工程实战

全面讲解快速排序的核心思想、枢轴选择、重复元素分区、尾递归与混合排序实践,附多语言实现与工程选型建议。

2025年12月5日 · 6 分钟 · map[name:Jeanphilo]

最大正负数计数:用二分在排序数组中统计正整数和负整数数量的最大值(LeetCode 2529)

副标题 / 摘要 给定一个有序整数数组,如何在 O(log n) 时间内分别统计负数和正数的个数,并返回两者中的较大值?这道「Maximum Count of Positive & Negative Integers」正是边界型二分的练习题。本文用上下界二分一次性搞定负数结束和正数起点。 预计阅读时长:8~10 分钟 适用场景标签:二分查找、边界计数、排序数组 SEO 关键词:maximum count, positive negative, 二分统计, 上下界, 有序数组计数 目标读者与背景 目标读者 已经会写 basic binary search,希望进阶到“计数型二分”的同学; 在工程中有基于排序数据做区间计数需求的工程师; 准备面试,想把二分查找的上下界技巧练熟的开发者。 背景 / 动机 在各种日志 / 指标 / 数据分析场景中,我们经常会对有序数据做计数: 比如统计小于 0 的条目数量; 统计大于某个阈值的条目数量; 找到“负数段结束”和“正数段开始”的位置。 这道 LeetCode 题「Maximum Count of Positive & Negative Integers」是这类需求的简化模型,非常适合作为上下界二分的练习。 A — Algorithm(题目与算法) 题目重述 给定一个按非降序排序的整数数组 nums。 数组中可能包含负数、0 和正数。 定义: countNeg = 数组中小于 0 的元素数量; countPos = 数组中大于 0 的元素数量。 请返回 max(countNeg, countPos)。 输入 ...

2025年12月4日 · 8 分钟 · map[name:Jeanphilo]

比目标字母大的最小字母:有序字符数组上的二分查找技巧(LeetCode 744)

副标题 / 摘要 这道题看似只是“找一个比目标大的字母”,本质上是经典的上界二分(upper_bound)问题:在有序字符数组中找到第一个 > target 的元素,并在找不到时从头环绕。本文给出完整的二分模板和多语言实现,帮你稳拿这类边界题。 预计阅读时长:8~10 分钟 适用场景标签:二分查找进阶、字符数组、上界查找 SEO 关键词:find smallest letter greater than target, upper_bound, 二分查找字符数组 目标读者与背景 目标读者 已经掌握基本二分查找,想进一步熟悉上下界(upper/lower bound)的同学; 在工程中需要在有序集合中找到“下一个更大值”的开发者; 准备中高级面试,想通过一道题统一上界二分写法的工程师。 背景 / 动机 很多系统都会用到“环形有序列表”的概念: 比如按字母排序的标签、按时间排序的分片; 想要找“比当前值更大的下一个值”,找不到就从头开始。 这道题「Find Smallest Letter Greater Than Target」正是这种模式的简化版,是练习上界二分的好题。 A — Algorithm(题目与算法) 题目重述 给定一个按非降序排序的字符数组 letters,数组中的字母都是小写英文字母。 给定一个字符 target,请你找到数组中严格大于 target 的最小字母并返回。 注意:letters 数组是环绕的——如果不存在这样的字母,则返回数组的第一个元素。 输入 letters: 排序好的小写字母数组,长度为 n,且 letters 中至少有两个不同的字母; target: 一个小写字母。 输出 字符:数组中比 target 大的最小字母;若不存在,则为 letters[0]。 示例 1 letters = ['c', 'f', 'j'] target = 'a' 所有比 'a' 大的字母有 ['c', 'f', 'j']; 其中最小的是 'c'。 输出:'c' ...

2025年12月4日 · 6 分钟 · map[name:Jeanphilo]

经典 Binary Search:在排序数组中查找目标值索引的统一模板(LeetCode 704)

副标题 / 摘要 二分查找是所有算法面试和工程系统中的“必修课”。本文以最基础的「在有序数组中查找目标值」为例,从题意、边界到统一模板,系统整理 Binary Search 的写法,并配套多语言实现,帮助你彻底告别二分边界恐惧症。 预计阅读时长:8~10 分钟 适用场景标签:二分查找基础、数组检索、性能优化 SEO 关键词:binary search, LeetCode 704, 二分查找模板, 有序数组目标索引 目标读者与背景 目标读者 刚开始系统刷题、希望夯实基础二分查找的同学; 在工程中经常需要在有序列表中查找、定位数据的后端 / 前端工程师; 曾经被二分查找的边界条件困扰、希望形成统一模板的开发者。 为什么这题值得认真学? 它是 LeetCode 704:Binary Search,二分查找的最基础版本; 几乎所有高级二分题(Search Range、插入位置、求上下界)都以此为内核; 大量工程场景(有序列表查找、策略表、时间线等)都可以套用这个模板。 A — Algorithm(题目与算法) 题目重述 给定一个按非降序排序的整数数组 nums 和一个整数 target。 请你在数组中查找 target,如果存在,则返回其下标;否则,返回 -1。 要求算法的时间复杂度为 O(log n)。 输入 nums: 已排序(非降序)的整数数组,长度为 n target: 要查找的整数 输出 若 target 存在于 nums 中,则返回其下标; 否则返回 -1。 示例 1 nums = [-1, 0, 3, 5, 9, 12] target = 9 数组中存在 9,且在下标 4: ...

2025年12月4日 · 6 分钟 · map[name:Jeanphilo]