求乙個字串不重複的子串的最大的長度
例如:abcabcbb
, the answer is"abc"
, which the length is 3.
滑動視窗是處理字串和陣列的經典方法,時間複雜度o(n)
滑動視窗的思想:滑動視窗在字串上從左到右滑動,一直到字串的尾部,滑動視窗的長度是動態變化的,需要兩個指標指向視窗的兩邊,指標i指向視窗的左邊界,指標j指向視窗的右邊界.
1.當前視窗是s[i]...s[j],如果s[i]...s[j]不包含s[j+1]右視窗移動.
2.如果s[i]...s[j]包含s[j+1]左視窗移動.
3.j 記錄的是右視窗劃過的不重複的字元,i記錄左視窗劃過的重複的字元,j-i 就是不重複子串的最大值.
public static void main(string args)
public static int getsubstringlen(string str){
int i=0;
int j=0;
int num=str.length();
int ans=0;
setset=new hashset<>();
while(i參考
1.
演算法思想 滑動視窗思想
在解leetcode題的時候,遇到了幾個新的演算法思想,這個系列文章就把leetcode中的一些演算法思想做一些整理,包括老生常談的動態規劃,也包括我最新接觸的滑動視窗思想,並查集等,另外,遇到新的題目的時候也會在這裡做一些整理。起源 計算機網路協議 在介紹滑動視窗思想之前,首先介紹這個演算法思想的...
滑動視窗的大小
題目描述 給定乙個陣列和滑動視窗的大小,找出所有滑動視窗裡數值的最大值。例如,如果輸入陣列及滑動視窗的大小3,那麼一共存在6個滑動視窗,他們的最大值分別為 針對陣列的滑動視窗有以下6個 思路 完全不懂 滑動視窗的最大值總是儲存在佇列首部 佇列裡面的資料總是從大到小排列 當遇到比當前滑動視窗最大值更大...
TCP的滑動視窗
注 rto是由rtt計算得出的。參考 tcp中rtt的測量和rto的計算 tcp ip詳解 rtt和rto的計算方法 tcp會將資料拆分成段進行傳輸,而將資料段依次傳輸效率是極低的,需要對資料進行批量傳送,因此tcp必須解決可靠傳輸和包亂序的問題。tcp使用滑動視窗做流量控制與亂序重排。tcp的滑動...