res初始化值

来源:3-7 滑动窗口 Minimum Size Subarray Sum

慕工程1407147

2021-12-08

老师你好,请问为什么一开始res = nums.size() +1; 呢 ?
为什么不直接取nums.size() 呢?
一个子数组不会永远取到nums.resize() + 1的啊, 不能 res = nums.size() 么?然后再比较是不是小于等于这个值不也行么?
谢谢波波老师

写回答

1回答

liuyubobobo

2021-12-08

正因为一个子数组永远取不到 nums.size() + 1,所以才可以用这个数字做标识,表示“没有解”。如果初始化 res = nums.size(),表示默认整个数组是一个解,但是这个假设是错误的。


这个问题有这样的测试用例,你可以试验一下,是不是把 res 初始化成 nums.size(),其他逻辑作相应调整,是会 WA 的?


继续加油!:)

1
0

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7408 学习 · 1150 问题

查看课程