首先:
int i=1;
int j=i++;
則 j=1; i=2; 即 i 先把值給 j ,再自加1;
題目:
注意:是子串,不是子串行。
**:
1
class solution {
public int lengthoflongestsubstring(string s) {
int len=s.length();
int i=0,j=0;
int ans=0;
setset=new hashset<>();
while(i容易理解,i 指向set中第乙個不存在重複的值,j 指向最後乙個,然後最長的序列數儲存在ans中。
使用map不是set了,
map與set區別在於:
簡單來說就是
hashset實現set介面,hashmap實現map介面。
hashset集合中沒有重複的值;hashmap儲存鍵+值,此處鍵不能重複
class solution {
public int lengthoflongestsubstring(string s) {
int len=s.length();
int ans=0;
mapmap=new hashmap<>();
for(int i=0,j=0;j本質概念與第一種方法相同,就是滑動視窗。i 在前,j 在後,的視窗,框住無重複的子串。
但是不需要刪除。。。
leetcode無重複字串
無重複字串 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew...
無重複字串的最長字串
無重複字元的最長子串 難度中等 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3...
leedcode 反轉字串
反轉字串,原地工作,其實就是第乙個元素與倒數第乙個元素交換,倒數第二個元素與倒數第二個元素交換。得到字串中間元素的下表,偶數個和奇數個均適用。然後從0迴圈到中間元素的下標,i需要交換的下標為len s i 1.class solution object def reversestring self,...