博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生成窗口最大值数组(offer收割)
阅读量:6347 次
发布时间:2019-06-22

本文共 910 字,大约阅读时间需要 3 分钟。

题目

  有一个整型数组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]表示每一种窗口状态下的最大值。

代码

package com.iqiyi;import java.util.LinkedList;public class Code1_7 {	public static void main(String[] args){		int[] arr=new int[]{
4,3,5,4,3,3,6,7}; int[] ans=getMaxWindow(arr, 3); for(int a:ans){ System.out.println(a); } } public static int[] getMaxWindow(int[] arr,int w){ LinkedList
linkedList=new LinkedList
(); int[] ans=new int[arr.length-w+1]; for(int i=0;i
=w-1) ans[i-(w-1)]=arr[linkedList.getFirst()]; } return ans; }}复制代码

转载于:https://juejin.im/post/5c3c05516fb9a049a62cd21b

你可能感兴趣的文章
代码审查 Code Review
查看>>
fastjson如何指定字段不序列化
查看>>
[日常] Go语言圣经--示例: 并发的Echo服务
查看>>
BZOJ1969: [Ahoi2005]LANE 航线规划(LCT)
查看>>
linux内存管理之malloc、vmalloc、kmalloc的区别
查看>>
GreenDao 数据库升级 连接多个DB文件 或者指定不同的model&dao目录
查看>>
M1卡破解(自从学校升级系统之后,还准备在研究下)【转】
查看>>
vue 访问子组件示例 或者子元素
查看>>
linux内核--自旋锁的理解
查看>>
银行卡的三个磁道
查看>>
OpenSSL 提取 pfx 数字证书公钥与私钥
查看>>
Keepalived详解(四):通过vrrp_script实现对集群资源的监控【转】
查看>>
CollapsingToolbarLayoutDemo【可折叠式标题栏,顺便带有CardView卡片式布局】
查看>>
CentOS7.4安装配置mysql5.7 TAR免安装版
查看>>
解决IE二级链接无法打开故障
查看>>
Windows phone应用开发[16]-数据加密
查看>>
SQL Server 迁移数据到MySQL
查看>>
通用数据压缩算法简介
查看>>
The next Industry Standard in IT Monitoring, a python implementation Nagios like tool --- Shinken
查看>>
(笔记)找工作,该怎么进补
查看>>