滑動窗口

滑動窗口可以看成數組中框起來的一個部分。在一些數組類題目中,我們可以用滑動窗口來觀察可能的候選結果。當滑動窗口從數組的左邊滑到了右邊,我們就可以從所有的候選結果中找到最優的結果。

對於這道題來說,數組就是正整數序列 [1, 2, 3, …, n]。我們設滑動窗口的左邊界爲i,右邊界爲j,則滑動窗口框起來的是一個左閉右開區間 [i, j)[i,j)。注意,爲了編程的方便,滑動窗口一般表示成一個左閉右開區間。在一開始,i=1, j=1,滑動窗口位於序列的最左側,窗口大小爲零。
在這裏插入圖片描述

滑動窗口的重要性質是:窗口的左邊界和右邊界永遠只能向右移動,而不能向左移動。這是爲了保證滑動窗口的時間複雜度是 O(n)。如果左右邊界向左移動的話,這叫做“回溯”,算法的時間複雜度就可能不止 O(n)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章