LeetCode 無重複字元的最長子串

2022-07-29 04:27:15 字數 817 閱讀 2302

首先:寫了2小時寫出來的垃圾演算法

public static int lengthoflongestsubstring(string s) 

}else

temp = -1;}}

system.out.println(count+"---"+i+"--"+t[i]);

}system.out.println("--------------");

return max;

}

什麼是滑動視窗?

其實就是乙個佇列,比如例題中的 abcabcbb,進入這個佇列(視窗)為 abc 滿足題目要求,當再進入 a,佇列變成了 abca,這時候不滿足要求。所以,我們要移動這個佇列!

如何移動?

我們只要把佇列的左邊的元素移出就行了,直到滿足題目要求!

一直維持這樣的佇列,找出佇列出現最長的長度時候,求出解!

public static int lengthoflongestsubstring3(string s) 

map.put(s.charat(end),end+1);

ans = math.max(ans, end+1-start);

}return ans;

}

class solution 

}else

}else

}map.put(t[i]-'a',i);

}return max;

}}

沒有把問題抽象為滑動視窗問題;

沒有意識到hashmap可以這樣覆蓋。

LeetCode第3題題解 無重複字元的最長子串

題目 leetcode 題目描述 給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 ...

LeetCode刷題實戰3 無重複字元的最長子串

題目描述 給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。示例 1 輸入 s abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 s bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 s pww...

leetcode刷題之路3 無重複字元的最長子串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。字元陣列和字串的區別,c語言字元陣列和字串區別詳解 開始的想法是在對字元陣列設定兩個指標,初始化乙個在位置0乙個在位置1,ans初始化...