滑動視窗的思想

2021-09-11 04:16:47 字數 632 閱讀 1038

求乙個字串不重複的子串的最大的長度

例如: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的滑動...