演算法總結之 生成視窗的最大值陣列

2022-10-11 17:06:10 字數 398 閱讀 1815

有乙個整型陣列arr 和乙個 大小為w的視窗從陣列的最左邊滑倒最右邊,視窗每次向右邊滑動乙個位置

如果陣列長度為n, 視窗大小為w, 則一共產生 n-w+1 個視窗的最大值

請實現乙個函式:

輸入  整型陣列 arr, 視窗大小 w

輸出 乙個長度為 n-w+1 的陣列res  res[i] 表示每一種視窗狀態下的最大值。

本題的關鍵在於利用雙端佇列來實現最大值的更新。首先生成雙端佇列qmax, qmax中存放陣列arr的下標

看**:

package tt;

import j**a.util.linkedlist;

public class test125

} return res; }

}

生成視窗最大值陣列

題目描述 有乙個整型陣列arr和乙個大小為w的視窗從陣列的最左邊滑到最右邊,視窗每次向右邊滑乙個位置,求每一種視窗狀態下的最大值。如果陣列長度為n,視窗大小為w,則一共產生n w 1個視窗的最大值 輸入描述 第一行輸入n和w,分別代表陣列長度和視窗大小 第二行輸入n個整數x,表示陣列中的各個元素 輸...

生成視窗最大值陣列

有乙個整型陣列arr和乙個大小為w的視窗從陣列的最左邊滑到最右邊,視窗每次向右邊滑乙個位置,求每一種視窗狀態下的最大值。如果陣列長度為n,視窗大小為w,則一共產生n w 1個視窗的最大值 輸入描述 第一行輸入 n 和 w 分別代表陣列長度和視窗大小 第二行輸入 n 個整數 x ix i xi 表示陣...

生成視窗最大值陣列

說明 本文是左程雲老師所著的 程式設計師面試 指南 第一章中 生成視窗最大值陣列 這一題目的c 復現。感謝左程雲老師的支援。題目 有乙個整形陣列 arr 和乙個大小為 w 的視窗從陣列的最左邊滑到最右邊,視窗每次向右邊滑動乙個位置。例如,陣列為 視窗大小為3時 4 3 5 4 3 3 6 7 視窗中...