public int lengthOfLongestSubstring (String s) {
//使用动态规划
int[] dp = new int[s.length()];
for(int i=0;i<s.length();i++){
dp[i] = 1;
}
int index = 0; //记录索引位置,暂未用到
int max = 1; //记录最大值
for(int i=1; i<s.length(); i++){
int temp = dp[i-1]; //记录上一字符最大连续值,即为本轮for循环次数
for(int j=0;j<temp;j++){
if(s.charAt(i)==s.charAt(i-1-j)){
break;
}else{
dp[i] = dp[i] + 1;
}
}
if(dp[i]>max){
max = dp[i];
index = i;
}
}
return max;
}
最大不重复子串长度Java实现
最新推荐文章于 2024-02-03 12:13:58 发布