栈和队列之生成窗口最大值数组
生活随笔
收集整理的這篇文章主要介紹了
栈和队列之生成窗口最大值数组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.chenyu.zuo.stackAndQueue;import java.util.LinkedList;/*** 題目:有一個整形數組,arr和一個大小為w的窗口從數組的最左邊滑到最右邊,窗口每次向右滑動一個位置。* 例如數組[4,3,5,4,3,3,6,7],窗口的大小為3時;* [4 3 5] 4 3 3 6 7 窗口中最大值為5* 4[ 3 5 4] 3 3 6 7 窗口中最大值為5* 4 3 [5 4 3] 3 6 7 窗口中最大值為5* 4 3 5 [4 3 3 ]6 7 窗口中最大值為4* 4 3 5 4 [3 3 6] 7 窗口中最大值為6* 4 3 5 4 3 [3 6 7 ] 窗口中最大值為7* 如果數組的長度為n,窗口大小為w,則一共產生n-w+1個窗口的最大值* 請實現一個函數 * 輸入:整數數組為arr,窗口大寫為W。* 輸出:一個長度為n-w+1的數組res,res[i]表示每一種窗口狀態下的最大值,以本題為例,結果應該返回{5,5,5,4,6,7}*/
public class GetMaxWindow {public static void main(String[] args) {int [] arr1={4,3,5,4,3,3,6,7};int w=3;GetMaxWindow window=new GetMaxWindow();arr1=window.getMaxWindow1(arr1, w);for(int a:arr1){System.out.println(a);}System.out.println("---------------------------------------");i
總結
以上是生活随笔為你收集整理的栈和队列之生成窗口最大值数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android之事件处理全面剖析
- 下一篇: 链表之打印两个有序链表的公共部分