文章归档

20 / 20 篇文章

2026

20 篇沿途的记录

06月 JUNE

  1. 算法专题

    leetcode双指针经典练习题

    有序数组去重、合并两个有序数组和有序数组的平方,是这组三题练习的内容。几道题都配有 Python 实现,讨论集中在指针含义、有效区间、原地修改和边界条件的区别上。去重一节还留下了两种写法的对照:作者觉得原先的计数方案有些绕,便接着写了另一种版本,并逐一说明实现时容易混淆的地方。

    3 分钟阅读

05月 MAY

  1. 算法题解

    leetcode-1438. 绝对差不超过限制的最长连续子数组

    这道最长连续子数组题,与滑动窗口最大值那篇笔记有直接联系。两篇都涉及窗口和单调队列,但这里的限制条件、窗口长度和收缩判断有所不同。文章沿着这组对照展开,说明为何需要同时关注区间的两种最值,并在 Python 实现之后补充条件判断与边界处理的差别。

    1 分钟阅读
  2. 算法题解

    leetcode-179. 最大数

    排序规则是这份“最大数”题解的重点。笔记从具体例子谈起,比较数值大小、字典序与题目所需顺序之间的差别,再转向 Python 自定义排序的实现。比较函数与排序接口怎样衔接、不同返回结果的含义,以及全零输入的处理,都有代码之外的说明。

    2 分钟阅读
  3. 算法题解

    leetcode-239. 滑动窗口最大值

    单调队列在这道题里承担什么作用,哪些元素可以离开队列,又有哪些需要继续保留,是这份笔记展开讨论的几个问题。内容以定长滑动窗口为背景,结合 Python 代码说明候选元素与过期位置的处理,并区分索引和数值的用途。篇幅主要留给这些实现选择背后的理由,以及窗口移动时容易遗漏的边界。

    2 分钟阅读
  4. 算法题解

    leetcode-136. 只出现一次的数字

    寻找数组中只出现一次的数字,还需要考虑写法是否满足题目的空间要求。这份笔记保留了最先想到的哈希表方案,再把它与异或思路放在一起比较。相关运算性质有单独的说明,Python 实现也与分析相配;对顺序执行的循环、时间开销和额外空间的讨论,贯穿两种写法的取舍。

    2 分钟阅读
  5. 算法专题

    leetcode动态规划基础练习题

    斐波那契数和零钱兑换被放在同一份动态规划笔记里,沿着递归、备忘录与迭代几种写法逐步展开。前一道题侧重重复计算和状态保存的变化,后一道题则涉及状态定义、不可达情形及初始化的考虑。各个阶段都配有 Python 代码,也保留了从直观想法走到另一种实现时的说明。

    3 分钟阅读
  6. 算法专题

    leetcode二叉树基础练习题

    最大深度、前序遍历和直径,分别提供了观察二叉树递归的不同角度。笔记给出 Python 实现,也对照了遍历整棵树与分解子问题两种组织方式。除了题目本身,还讨论前序、后序位置能够取得的信息,以及函数返回值和更新答案这两件事的区别。

    3 分钟阅读
  7. 算法专题

    leetcode数组双指针练习题

    七道练习把数组、链表和字符串中的双指针用法放在一起,涉及去重、移除元素、移动零、两数之和、字符串反转及最长回文子串。每题都有 Python 代码和思路说明,几种相似写法容易混淆的地方也有对照,包括指针含义、有效区间、返回位置与边界条件;链表末尾处理和回文串的奇偶中心各有说明。

    4 分钟阅读
  8. 算法专题

    leetcode滑动窗口练习题

    从一段通用伪代码开始,这组字符串练习把窗口扩张、收缩、数据维护和答案更新几个问题串了起来。最小覆盖子串、字符串排列、字母异位词和无重复最长子串各有 Python 实现,题目之间还对照了定长与变长窗口、目标计数和结果记录方式的差异。开头也保留了对适用条件和运行开销的说明。

    3 分钟阅读
  9. 算法专题

    leetcode链表双指针练习题

    链表合并、分隔、倒数节点、中间节点、判环、找环入口和相交链表,被收在这八道练习中。每题都有 Python 实现,虚拟头节点、快慢指针、指针对齐和最小堆也随着不同题目出现。除了思路说明,笔记还保留了环入口的推导和相交链表的示意图,对空链表、头节点和偶数长度链表的处理各有交代。

    6 分钟阅读

04月 APRIL

  1. 算法题解

    洛谷-P1029 [NOIP 2001 普及组] 最大公约数和最小公倍数问题

    P1029 把最大公约数和最小公倍数放进了一道数对计数题里。题解保留了从暴力尝试到调整思路的过程,也留下了部分测试点超时的提交记录。Python 和 C++ 两种版本放在一起,讨论的重点包括枚举范围、候选数的有效性,以及数学关系怎样影响代码的组织。

    2 分钟阅读
  2. 算法题解

    leetcode-1979. 找出数组的最大公约数

    这是一道把数组最值与最大公约数放在一起的基础练习,篇幅主要是 Python 和 C++ 的两段代码,配有简短的题意与思路说明。两种语言中排序和求公约数函数的使用各有交代,Python 的 math 模块与 C++ 版本所用的头文件也有注明。

    1 分钟阅读
  3. 算法题解

    洛谷-B3634 最大公约数和最小公倍数

    一组具体数字的演算,是这份基础数论笔记的起点。内容围绕最大公约数与最小公倍数的关系展开,既有辗转相除法的过程说明,也有 Python 和 C++ 实现。代码展示了循环与递归两种写法,旁边补充了两个数最初的顺序、计算何时结束,以及整数范围方面的注意事项。

    2 分钟阅读
  4. 算法题解

    洛谷-P10424 [蓝桥杯 2024 省 B] 好数

    这道蓝桥杯“好数”题,对数字本身和所在数位的奇偶都有要求。笔记简要说明题意后,列出 C++ 与 Python 的实现,并对照了两种语言处理数位时的写法。末尾保留了当时提交中使用 PyPy3 的经历,以及对数据规模、解释器和评测环境的观察。

    2 分钟阅读
  5. 算法题解

    洛谷-P8716 [蓝桥杯 2020 省 AB2] 回文日期

    最初按日期数字逐个尝试的写法超时了,这道回文日期练习也因此留下了一段调整思路的记录。笔记比较了不同的枚举范围,随后给出 Python 与 C++ 实现,讨论普通回文日期和特定形式回文日期的区别。月份、天数和闰年的合法性判断也有单独说明,重点落在题意限制与日期细节如何体现在代码中。

    2 分钟阅读
  6. 自动化脚本

    Dr.com校园网自动登录方案

    从校园网认证页面到能随 Windows 启动的 Python 脚本,这份笔记串起了 Dr.COM 自动登录方案的搭建过程。浏览器里如何找到认证请求,脚本中的网络检测和登录部分各负责什么,运行环境与开机自启怎么配置,都有对应说明,并附有抓包截图和完整代码。

    3 分钟阅读
  7. 算法题解

    leetcode-2226. 每个小孩最多能分到多少糖果

    开头用两个样例厘清糖果堆的拆分和领取规则,也交代了糖果总量不足时的边界情形。随后转入二分答案的思考,配有 Python 与 C++ 代码。C++ 部分另有一些实现笔记,包括整数范围、参数引用,以及如何避免复制整个容器。

    2 分钟阅读
  8. 算法题解

    leetcode-2563. 统计公平数对的数目

    数对计数中的重复配对、区间边界,以及两种语言的查找接口,是这篇笔记的几个重点。文章从题意和排序是否影响结果谈起,再介绍二分查找思路,分别给出 Python 与 C++ 实现。两种语言的查找返回值并不相同,因此还补充了下标、插入位置和迭代器的对应关系。

    2 分钟阅读
  9. 算法题解

    leetcode-1.两数之和

    两数之和要求找出一对符合条件的数组位置,笔记把篇幅放在两种思路之间的转换上。从最直观的枚举出发,讨论重复查找的问题,再对照哈希表写法,比较查找方式与运行效率的差别。Python 和 C++ 都提供了对应实现,两种语言的代码与前面的分析一一对应。

    2 分钟阅读
  10. 算法题解

    洛谷-P8218 【深进1.例1】求区间和

    同一道区间求和练习,直接写法在当时的 Python 测试中超时,C++ 版本则能通过。这份笔记保留了这次测试记录,也把朴素累加和前缀和两种思路的代码放在一起。后半部分关注查询方式变化后的实现,另有空前缀、题目下标与数组位置对应关系的说明,Python 和 C++ 都给出了完整版本。

    2 分钟阅读

故事从这里开始,下一页还在继续。

搜索文章

输入关键词,找一篇想读的手记。

在这座小岛上,慢慢找。ESC 关闭