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