Closed JuneYuan closed 6 years ago
题解一源码分析对于i >= right的讨论,认为没有必要。因为for 循环保证了 i 每次都增加1,而 right 是满足条件才增加1,所以i >= right恒成立,只需要 if (nums[i] < k) 就够了。 另外,nums[i] 与 nums[right] 的 swap 操作,可以加上 if (i != right) 限定,避免了自己与自己的交换,代码也更好理解~
i >= right
for 循环
i
1
right
if (nums[i] < k)
nums[i]
nums[right]
swap
if (i != right)
同意~ 👍
题解一源码分析对于
i >= right
的讨论,认为没有必要。因为for 循环
保证了i
每次都增加1
,而right
是满足条件才增加1
,所以i >= right
恒成立,只需要if (nums[i] < k)
就够了。 另外,nums[i]
与nums[right]
的swap
操作,可以加上if (i != right)
限定,避免了自己与自己的交换,代码也更好理解~