LeetCode239 滑動視窗最大值

2021-10-06 02:46:47 字數 542 閱讀 8682

滑動視窗的最大值》

滑動視窗:使用乙個佇列(佇列中存放的是陣列中元素的索引值),確保隊首元素是滑動視窗內的最大值,如何保證,每新增乙個元素要判斷,這個元素是否大於佇列中現有元素,若大於則不斷移除佇列中的元素,再判斷佇列中的元素是否不再此時滑動視窗範圍內

class

solution

// 新增當前值對應的陣列下標

queue.

addlast

(i);

// 判斷當前佇列中隊首的值是否有效

if(queue.

peek()

<= i-k)

// 當視窗長度為k時 儲存當前視窗中最大值

if(i+

1>= k)

}return result;

}}

LeetCode 239 滑動視窗最大值

class solution public int maxslidingwindow int nums,int k int numlen nums.length if nums null numlenmaxheap new priorityqueue a,b nums b nums a for in...

LeetCode 239 滑動視窗最大值

給定乙個陣列 nums,有乙個大小為 k 的滑動視窗從陣列的最左側移動到陣列的最右側。你只可以看到在滑動視窗 k 內的數字。滑動視窗每次只向右移動一位。返回滑動視窗最大值。示例 輸入 nums 1,3,1,3,5,3,6,7 和 k 3 輸出 3,3,5,5,6,7 解釋 滑動視窗的位置 最大值 1...

leetcode239滑動視窗最大值

給定乙個陣列 nums,有乙個大小為 k 的滑動視窗從陣列的最左側移動到陣列的最右側。你只可以看到在滑動視窗 k 內的數字。滑動視窗每次只向右移動一位。返回滑動視窗最大值。示例 輸入 nums 1,3,1,3,5,3,6,7 和 k 3 輸出 3,3,5,5,6,7 解釋 滑動視窗的位置 最大值 1...