qinghuan
← 查看最新一轮文章

往期新增 / 2026.10.24 / 6 篇

先看清规则,再相信结果

从一个能手算的例子开始,先猜结果,再操作实验,最后运行同一份源码。本轮沿用后端、AI 与计算机基础三条路线,附原始资料、阅读准备和独立练习。

先看本文的问题是否与你有关,再读正文、运行示例、记录自己的结果。阅读分钟数不包含环境准备和实验时间;示例验证范围在运行说明及下载包内标明。

后端:键如何合并,解压后还剩什么

认识 Java Map、byte 数组和 ByteBuffer;运行需完整 JDK 17 或更新版本。

这一组留下什么:分别核对键的比较规则与解压器尚未消费的字节。

想连着练,可以从这几步开始
  1. 只是想按长度排序,TreeMap 为什么把不同名字合成了一条?

    用 aa、bb、zz 对照写入、查询与删除:比较器的零值同时决定排序键身份,再用 BigDecimal 检查另一种相等规则。

  2. Inflater 已经解压完成,输入末尾为什么还留着 NEXT?

    把一个 zlib 数据段与下一段文字放在同一缓冲区,核对 finished、needsInput 与剩余字节,避免把“这段完成”误当成“整块消耗完”。

这是一条建议顺序;遇到当前项目的问题,也可以直接选择下面对应的文章。每篇的前置阅读另有说明。

阅读约 20 分钟 · 另留动手时间

可以先在页面里动手

只是想按长度排序,TreeMap 为什么把不同名字合成了一条?

用 aa、bb、zz 对照写入、查询与删除:比较器的零值同时决定排序键身份,再用 BigDecimal 检查另一种相等规则。

适合排查:只是想按长度排序,TreeMap 为什么把不同名字合成了一条?

开始前:能读 Map 的 put、get 与 remove 调用

  • Java 17
  • TreeMap
  • Comparator
  • 键的身份
  • 可运行实验
开始阅读与练习 ↗

阅读约 23 分钟 · 另留动手时间

可以先在页面里动手

Inflater 已经解压完成,输入末尾为什么还留着 NEXT?

把一个 zlib 数据段与下一段文字放在同一缓冲区,核对 finished、needsInput 与剩余字节,避免把“这段完成”误当成“整块消耗完”。

适合排查:Inflater 已经解压完成,输入末尾为什么还留着 NEXT?

开始前:知道压缩数据与解压后的内容是两组字节

  • Java 17
  • Inflater
  • zlib
  • 输入边界
  • 可运行实验
开始阅读与练习 ↗

AI:损失与表示究竟保留了什么

会算平均、平方和导数;可先看各篇提供的基础阅读。

这一组留下什么:分清残差导数、参数梯度、输入方差与标签信息。

想连着练,可以从这几步开始
  1. Huber 已经限制了梯度,为什么一个大输入仍能把更新放大?

    把对误差的导数与对参数的梯度分开;用一条线性公式和两条样本,比较三个看似相同的裁剪位置。

  2. PCA 保留了 99% 的方差,为什么分类线索还是全丢了?

    四个点就能区分“保留变化量”与“保留任务信息”;核对投影碰撞、重建误差,以及输入尺度改变后的主方向。

这是一条建议顺序;遇到当前项目的问题,也可以直接选择下面对应的文章。每篇的前置阅读另有说明。

阅读约 20 分钟 · 另留动手时间

可以先在页面里动手

Huber 已经限制了梯度,为什么一个大输入仍能把更新放大?

把对误差的导数与对参数的梯度分开;用一条线性公式和两条样本,比较三个看似相同的裁剪位置。

适合排查:Huber 已经限制了梯度,为什么一个大输入仍能把更新放大?

开始前:知道预测误差等于预测减真实值

  • Huber损失
  • 链式法则
  • 参数梯度
  • 输入尺度
  • 可运行实验
开始阅读与练习 ↗

阅读约 22 分钟 · 另留动手时间

可以先在页面里动手

PCA 保留了 99% 的方差,为什么分类线索还是全丢了?

四个点就能区分“保留变化量”与“保留任务信息”;核对投影碰撞、重建误差,以及输入尺度改变后的主方向。

适合排查:PCA 保留了 99% 的方差,为什么分类线索还是全丢了?

开始前:知道坐标点和平方平均值

  • PCA
  • 降维
  • 解释方差
  • 分类信息
  • 可运行实验
开始阅读与练习 ↗

计算机:把算法每一步留下的条件说清楚

能读 Python 循环、下标和列表;先手算小输入。

这一组留下什么:用逐步状态解释结果,再用独立参考实现核对。

想连着练,可以从这几步开始
  1. 一串字绕成圆,怎样选同一个开头?提前停下为什么会选错

    aaba 从不同地方读,可以得到 aaba、abaa、baaa、aaab。用 Booth 算法找统一写法,再亲手重现作者勘误中的提前停止反例。

  2. 12 能被 2 和 3 划掉,怎样让每个合数只被处理一次?

    先给每个合数指定唯一的“最小质因子负责人”,再看线性筛的 break 为什么必须发生在标记之后。

这是一条建议顺序;遇到当前项目的问题,也可以直接选择下面对应的文章。每篇的前置阅读另有说明。

阅读约 30 分钟 · 另留动手时间

可以先在页面里动手

一串字绕成圆,怎样选同一个开头?提前停下为什么会选错

aaba 从不同地方读,可以得到 aaba、abaa、baaa、aaab。用 Booth 算法找统一写法,再亲手重现作者勘误中的提前停止反例。

适合排查:一串字绕成圆,怎样选同一个开头?提前停下为什么会选错

开始前:会用字符串下标、切片和 while 循环;能按第一个不同字符比较两个字符串。

  • 字符串
  • 最小循环表示
  • Booth算法
  • 反例
  • 独立枚举
开始阅读与练习 ↗

阅读约 28 分钟 · 另留动手时间

可以先在页面里动手

12 能被 2 和 3 划掉,怎样让每个合数只被处理一次?

先给每个合数指定唯一的“最小质因子负责人”,再看线性筛的 break 为什么必须发生在标记之后。

适合排查:12 能被 2 和 3 划掉,怎样让每个合数只被处理一次?

开始前:认识整除、余数与数组下标;知道质数只有 1 和自身两个正因数。

  • 质数
  • 线性筛
  • 最小质因子
  • 循环不变量
  • 因数分解
开始阅读与练习 ↗