思路: dp[i]表示的是以i结尾的最长不含重复字符的子字符串。使用了hashmap这个数据结构记录<char,index> 如果map中没有当前这个元素,那么dp[i]=dp[i-1]+1 如果map中存在当前的元素,一开始的想法是 dp[i]=i-map.get(array[i]),但是这样想有点问题,如果当前的字符串是abba的时候,按照刚才的思路dp[0]=1 dp[1]=2 dp[2]=1 dp[3]=3 但是dp[3]是错误的,因为中间存在了重复的字符。所以要加一种情况。 dp[i]=Math.min(dp[i-1]+1,i-map.get(array[i])) pu...