请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

图片描述
这个res的计算可以放第一个逻辑分支里面吗?else里面只是删一次吧。每次循环都计算res是不是不太好

添加回答

已采纳回答

1

可以把 res 只放到第一个分支;


把 res 放到第一个分支并不会有复杂度级别的变化,整个算法还是 O(n) 的。我的逻辑思想是:在每轮循环中,首先根据问题需求调整滑动窗口,其次看当前滑窗长度是否更大。两步各司其职。


当然,你可以根据你喜欢的方式建立逻辑。只要是正确的,就 ok。


3

在这个课程的官方代码,我也给出了这个问题的若干其他实现,感兴趣可以参考:https://git.imooc.com/coding-82/coding-82/src/master/03-Using-Array/Course%20Code%20%28C++%29/08-Longest-Substring-Without-Repeating-Characters


但其实,他们都是 O(n) 的算法,没有复杂度上的改变。


继续加油!:)

2020-10-11 04:07:18

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

难度中级
时长18小时10分钟
人数5927
好评度100%

课程配套大量BAT面试真题,高频算法题解析,强化训练,助攻你拿下优质Offer

讲师

liuyubobobo 全栈工程师

创业者,全栈工程师,持续学习者。对技术开发,产品设计、前后端,ios,html5,智能算法等领域均有接触;拥有多款独立App作品;对一切可编程的东西有浓厚兴趣,对游戏编程格外感兴趣。相信编程改变一切。

意见反馈 帮助中心 APP下载
官方微信