首先:寫了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初始化...