筆者以c++
方式解決。
#include
"iostream"
using namespace std;
#include
"algorithm"
#include
"vector"
#include
"queue"
#include
"set"
#include
"map"
#include
"string"
#include
"stack"
class solution
// 初始化最長子串陣列
dp.resize
(s.length()
);// 設定第乙個節點的 最長子串陣列 為 1 。邊界
dp[0]
=1;dealchen
(s);
// 獲取所有的最長子串陣列 中的最大值,就是整個字串的最長子串陣列
int result =1;
for(
int i =
1; i < dp.
size()
;++i)
}return result;
}/**
* 核心思路為:
* 處理 s[i] 節點時,其需要比較的最大長度為 dp[i-1],這樣可以節省時間
* @param s
*/void
dealchen
(string s)
// 儲存不同字元的個數
dp[i]
= temp;}}
};intmain()
執行結果
有點菜,有時間再優化一下。
難得有時間刷一波leetcode
, 這次做乙個系統的記錄,等以後複習的時候可以有章可循,同時也期待各位讀者給出的建議。演算法真的是乙個照妖鏡,原來感覺自己也還行吧,但是演算法分分鐘教你做人。前人栽樹,後人乘涼。在學習演算法的過程中,看了前輩的成果,受益匪淺。
感謝各位前輩的辛勤付出,讓我們少走了很多的彎路!
leetcode 3 無重複的字串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...
leetcode 3 無重複字元的最長字元子串
堅持打卡!題目 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwk...
leetcode 3 最長無重複字串
3.longest substring without repeating characters 題面 given a string,find the length of the longest substring without repeating characters.給定字串,找到最長無重複字...