滑動視窗型別題

2021-10-07 16:44:46 字數 907 閱讀 2177

第一題:滑動視窗的最大值

來自:【劍指offer】

題目:給定乙個陣列和滑動視窗的大小,找出所有滑動視窗裡數值的最大值。例如,如果輸入陣列及滑動視窗的大小3,那麼一共存在6個滑動視窗,他們的最大值分別為; 針對陣列的滑動視窗有以下6個: , , , , , 。

第二題:dna序列

來自:【牛客網-華為機試】

題目:輸入描述:

輸入乙個string型基因序列,和int型子串的長度

輸出描述:

找出gc比例最高的子串,如果有多個輸出第乙個的子串

示例1:

輸入aactgtgcacgacctga5輸出

gcacg

總結

這兩道題都是用乙個長度固定的滑動陣列來遍歷字串

在遍歷的過程中達到特定的結果並記錄

最後輸出所有結果中的最值

他們的框架簡而言之分三步走:

一,for迴圈推動滑動陣列移動

二,幹活,得到特定結果,並找到最值進行儲存

三,返回最值

注意第一步的遍歷範圍是range(len(s)-size+1)

保證滑動陣列完整

例如第一題中字串長度為8

8-3+1=6

range(6)=0,1,2,3,4,5

而我只需要讓 i 走到5的位置上,就可以用滑動陣列把最後兩位的數字也包含進去了

對比一下

Leetcode 滑動視窗型別題總結

目錄 sliding window 分為滑動視窗和固定視窗 滑動視窗 固定視窗 滑動視窗題目一般是在陣列 鍊錶 字串等線性結構上進行操作,比如找最長的子字串 最短的子字串等等 判斷是否需要用滑動視窗法 物件是陣列 鍊錶 字串等線性結構 題目要求求具有最短 最長 或固定長度的子串行 滑動視窗問題一般具...

滑動視窗型別題目

3.無重複字元的最長子串 給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是1.滑動視窗本質是控制左右指標怎麼移動這裡有指標是一直往前走的,那麼左指標呢,當當前右指標指向的元素重複時左指標直接跳到這個已重複元素的下乙...

經典滑動視窗模板題

滑動視窗 acwing154 題目 給定乙個大小為n 106的陣列。有乙個大小為k的滑動視窗,它從陣列的最左邊移動到最右邊。您只能在視窗中看到k個數字。每次滑動視窗向右移動乙個位置。以下是乙個例子 該陣列為 1 3 1 3 5 3 6 7 k為3。視窗位置 最小值 最大值 1 3 1 3 5 3 6...