res初始化值
来源:3-7 滑动窗口 Minimum Size Subarray Sum
慕工程1407147
2021-12-08
老师你好,请问为什么一开始res = nums.size() +1; 呢 ?
为什么不直接取nums.size() 呢?
一个子数组不会永远取到nums.resize() + 1的啊, 不能 res = nums.size() 么?然后再比较是不是小于等于这个值不也行么?
谢谢波波老师
写回答
1回答
-
正因为一个子数组永远取不到 nums.size() + 1,所以才可以用这个数字做标识,表示“没有解”。如果初始化 res = nums.size(),表示默认整个数组是一个解,但是这个假设是错误的。
这个问题有这样的测试用例,你可以试验一下,是不是把 res 初始化成 nums.size(),其他逻辑作相应调整,是会 WA 的?
继续加油!:)
10
相似问题