扫码关注官方订阅号
如图,是LeetCode上面的一道题,后面是我的答案,我自己测试的没问题啊,但是LeetCode报错,请问原因在哪?谢谢。
认证高级PHP讲师
超时了啊,你用js还用正则,超时很正常的。换C C++ 或者Java试试,不需要用正则,用hashmap,从头开始扫描,把每个字母往hashmap里放,同时记录子串长度,一旦有重复的字母,就找到重复的元素位置,重新计算子串长度,这个重复元素位置就变成下次找重复元素的起点。循环外面放一个maxlength变量,每次找到重复元素时maxlength=max(maxlength, sublength)。 这样一遍循环搞定,用hashmap原因在于查询效率高。
人家要字符串,你为何返回的是长度呢?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
超时了啊,你用js还用正则,超时很正常的。
换C C++ 或者Java试试,不需要用正则,用hashmap,从头开始扫描,把每个字母往hashmap里放,同时记录子串长度,一旦有重复的字母,就找到重复的元素位置,重新计算子串长度,这个重复元素位置就变成下次找重复元素的起点。循环外面放一个maxlength变量,每次找到重复元素时maxlength=max(maxlength, sublength)。
这样一遍循环搞定,用hashmap原因在于查询效率高。
人家要字符串,你为何返回的是长度呢?