剑指offer 面试题65 滑动窗口的最大值
2024-10-16 09:40:25
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;
} }
最新文章
- for in for of
- SQLite常用语句
- SharePoint 2013 内容部署报错
- 【bzoj3218】 a + b Problem
- jQuery 常用的代码片段
- iOS开发——MVC详解&;Swift+OC
- 2016-11-15NOIP模拟赛
- C++标准库<;string>;简单总结
- Ubuntu12.04 配置Java开发环境:JDK1.7+Eclipse+Tomcat7.0
- Struts2详解
- Scientific Toolworks Understand for linux安装方法
- Excel单元格所在的行和列变色
- 期刊:DOI :10.3969/j.issn.1001-2400.2012.01.008
- 28.Django cookie
- 给hMailServer添加DKIM图文教程
- BZOJ4076 : [Wf2014]Maze Reduction
- Redis-Sentinel Redis的哨兵模式
- 几种梯度下降方法对比(Batch gradient descent、Mini-batch gradient descent 和 stochastic gradient descent)
- iOS DES ECB 模式加密
- PHP把excel导入mysql数据库最常用的方法