面试官最爱阴人题:为什么一个数组补几个数,就能覆盖所有区间?
有一类算法题,非常“邪门”。
看起来像数学。
做起来像贪心。
写代码时又像脑筋急转弯。
最离谱的是:
很多人明明把代码背下来了。
可面试官稍微一追问:
“为什么一定补 miss?”
“为什么不是补更大的数?”
“这个贪心到底凭什么成立?”
瞬间卡死。
今天咱们就聊一个经典中的经典:
按要求补齐数组(Patching Array)
这题在 LeetCode 上不算特别难。
但它特别能暴露一个人:
- 是否真正理解贪心
- 是否理解“覆盖区间”
- 是否具备算法抽象能力
更关键的是:
这题其实非常像现实世界里的“资源覆盖问题”。
比如:
- 网络带宽补齐
- 缓存命中范围扩展
- 金融风控额度覆盖
- CDN 节点容量扩容
本质都一样。
一、题目到底在说啥?
题目很短:
给你一个有序正整数数组nums,和一个整数n。
你可以往数组里补数字。
要求:
最