插: 前些天發(fā)現(xiàn)了一個巨牛的人工智能學習網(wǎng)站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到網(wǎng)站。
堅持不懈,越努力越幸運,大家一起學習鴨~~~

3妹
3妹:2哥,你有沒有看到新聞,長沙電信大樓著火了。
2哥:看到了,幾十層樓被熊熊大火包圍了。
3妹:恩,好在人員有序撤離,沒有人員傷亡。
2哥:嗯,也是不幸中的萬幸了。
3妹:2哥,今天周六了,準備干什么去呀?
2哥:還是呆在家里吧,梅花臺風剛過,出去太熱了。
3妹:我也不想出去,懶的動。
2哥:不出去陪男朋友逛街嗎?
3妹:2哥煩人,明知道我還是單身狗??,不理你了。

講課
題目:
給你一個字符串 s,請你返回 兩個相同字符之間的最長子字符串的長度 ,計算長度時不含這兩個字符。如果不存在這樣的子字符串,返回 -1 。
子字符串 是字符串中的一個連續(xù)字符序列。
示例 1:
輸入:s = "aa"
輸出:0
解釋:最優(yōu)的子字符串是兩個 'a' 之間的空子字符串。
示例 2:
輸入:s = "abca"
輸出:2
解釋:最優(yōu)的子字符串是 "bc" 。
示例 3:
輸入:s = "cbzxy"
輸出:-1
解釋:s 中不存在出現(xiàn)出現(xiàn)兩次的字符,所以返回 -1 。
示例 4:
輸入:s = "cabbac"
輸出:4
解釋:最優(yōu)的子字符串是 "abba" ,其他的非最優(yōu)解包括 "bb" 和 "" 。
提示:
1 <= s.length <= 300
s 只含小寫英文字母
java代碼:
class Solution {
public int maxLengthBetweenEqualCharacters(String s) {
int max = -1;
Map<Character, Integer> map = new HashMap<>();
char[] ch = s.toCharArray();
for (int i = 0; i < ch.length; i++) {
if (map.containsKey(ch[i])) {
max = Math.max(max, i - map.get(ch[i]) - 1);
} else {
map.put(ch[i], i);
}
}
return max;
}
}