题目
描述
给定一字符串只包含数字,请写一个算法,
找出该字符串中的最长不重复子串
(不重复是指子串中每一元素不同于子串中其他元素)
输入
1 行,一个字符全为数字的字符串
输出
1 行,最长不重复子串
Example
Input
120135435
Output
201354
题解
思路
- 定义 len(i) 为以下标 i 开始的不重复子串的最大长度
- 初始化 len(i) 为与str[i]相同的下一个字符的距离,若没有则设定下个相同字符的位置为 n
- 状态转移方程:
1 | len(i)=min(len(i),len(i+1)+1) |
1 |
|