zoukankan      html  css  js  c++  java
  • 剑指offer 面试题65 滑动窗口的最大值

    import java.awt.print.Printable;
    import java.beans.VetoableChangeListenerProxy;
    import java.lang.reflect.Array;
    import java.text.DateFormatSymbols;
    import java.text.spi.NumberFormatProvider;
    import java.util.ArrayDeque;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collection;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.Deque;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;
    import java.util.TreeSet;
    
    import javax.naming.ldap.SortControl;
    import javax.print.attribute.standard.NumberUpSupported;
    import javax.print.attribute.standard.RequestingUserName;
    
    import org.omg.PortableInterceptor.INACTIVE;
    
    public class Solution {
       public ArrayList<Integer> maxInWindows(int [] num, int size)
        {
            ArrayList<Integer> maxWindows=new ArrayList<>();
            Deque<Integer> index=new ArrayDeque<>();
            if(num.length>=size&&size>=1)
            {
            	for(int i=0;i<size;i++)
            	{
            		if(!index.isEmpty()&&num[i]>=num[index.getLast()])
            			index.removeLast();
            		index.addLast(i);		
            	}
            	maxWindows.add(num[index.getFirst()]);
            	for(int i=size;i<num.length;i++)
            	{
    
            		while(!index.isEmpty()&&num[index.getLast()]<=num[i])
            		{
            			int ix=index.getLast();
            			index.removeLast();
            		}
            		if(!index.isEmpty()&&index.peek()<=i-size)
            			index.removeFirst();
            		index.addLast(i);
            		maxWindows.add(num[index.peek()]);
            	}
            		
            }
            return maxWindows;
        }
    	
    }
    

      

  • 相关阅读:
    14. HTML 列表(无序, 有序, 定义)
    13. HTML table
    12. HTML图像
    11. HTML链接
    10. HTML CSS
    learning java AWT Pannel
    learning AWT Jrame
    learning java 正则表达式
    learning java java.time相关类
    learning java Calendar类
  • 原文地址:https://www.cnblogs.com/wuxiangli/p/6094061.html
Copyright © 2011-2022 走看看