为了账号安全,请及时绑定邮箱和手机立即绑定

给出一个字符串,寻找不重复的最长子串

给出一个字符串,寻找不重复的最长子串

慕田峪7331174 2018-10-10 13:20:57
如图,是LeetCode上面的一道题,后面是我的答案,我自己测试的没问题啊,但是LeetCode报错,请问原因在哪?谢谢。
查看完整描述

1 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

超时了啊,你用js还用正则,超时很正常的。
换C C++ 或者Java试试,不需要用正则,用hashmap,从头开始扫描,把每个字母往hashmap里放,同时记录子串长度,一旦有重复的字母,就找到重复的元素位置,重新计算子串长度,这个重复元素位置就变成下次找重复元素的起点。循环外面放一个maxlength变量,每次找到重复元素时maxlength=max(maxlength, sublength)。 
这样一遍循环搞定,用hashmap原因在于查询效率高。

查看完整回答
反对 回复 2018-11-17
  • 1 回答
  • 0 关注
  • 685 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号