⚠️ 归纳假设可以假设什么
证归纳步的时候,你可以放心假设【0】。
阅读更多 →
递归的基线对应归纳的哪一步
一个递归函数里的基线条件,对应归纳法的【0】。
阅读更多 →
数学归纳法的两步是什么
用归纳法证明一件事对所有 n 成立,要走的两步是【0】。
阅读更多 →
交付:初始化 / 保持 / 终止
数组 [17, 24, 15, 13, 23]。把不变式证明的三步各写成一次检查,三个结论一起输出。
阅读更多 →
🔴 一组上一直成立,另一组第一轮就破
还是 best = 0 那一版。看看不变式在 [17, 24, 15, 13, 23] 和 [-17, -24, -15, -13, -23] 上分别第几轮开始不成立(一直成立就给 0)。
阅读更多 →
自己写:把不变式写成一句 assert
数组 [17, 24, 15, 13, 23]。在循环体末尾加一句断言,把"best 是前 i+1 个里最大的"这句话真正验起来,并数一数一共验过几轮。
阅读更多 →
⚠️ 全负数组上,它给出什么
一个常见的写法是 best = 0。拿全是负数的数组 [-17, -24, -15, -13, -23] 跑一遍: NEG = [-17, -24, -15, -13, -23] def find_
阅读更多 →
每一轮的 best 是什么
数组 [17, 24, 15, 13, 23],把每一轮结束时的 best 都打出来: A = [17, 24, 15, 13, 23] NEG = [-17, -24, -15, -13, -23]
阅读更多 →
⚠️ 不变式和普通断言差在哪
在循环里随手加一句 assert,和写一个不变式的区别是【0】。
阅读更多 →
用不变式证明要验哪三件事
拿不变式证明一个循环是对的,要验的三件事是【0】。
阅读更多 →