第一次直接暴力解决,但是耗时居然达到了250ms,就是因为每次循环我都重新构造了一个新的map,极大地增加了时间,第一次的代码如下:
第二次是看了题解后提到的滑窗法,确实提高了几个量级的速率,只用了4ms,只需要遍历一次,用的map来解决,需要注意的是当出现重复的字符后,如果i的值小于等于重复字符的位置时才更新i值,这里最初没想到导致abba样例过不了,最后的结果j-i+1就是最长距离,代码如下:
来源:CSDN
作者:qq_40058686
链接:https://blog.csdn.net/qq_40058686/article/details/104044478