hot100-无重复最长子串

3.无重复最长子串

题目描述

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

思路

最典型的dp问题,d[i] = d[i-1]+1(与d[i-1]中无重复),d[i] = n(有重复)

代码

class Solution {

  public int lengthOfLongestSubstring(String s) {if(s.length()==0)return 0;int[] d = new int[s.length()];char[] arr = s.toCharArray();int res = 1;

​    d[0] = 1;for(int i = 1;i <s.length();i++){

​      d[i] = d[i-1]+1;for(int j = i - d[i-1];j<i;j++){if(arr[j] == arr[i]){

​          d[i] = i-j;break;}}

​      res = Math.max(res,d[i]);}return res;

  }

}

你可能感兴趣的:(hot100个人题解整理,动态规划,leetcode,算法)