博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【小红书2017年笔试】求一个数组中平均数最大的子数组
阅读量:4112 次
发布时间:2019-05-25

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

 题目:
 
 * 给一个数组,里边有N个整数,找长度为K(0<K<N)且平均值最大的子数组,并把这个最大值输出来
 输入描述:
* 6 (N的值)
* 1 12 -5 -6 50 3 (含有N个整数的数组)
* 4 (K的值)
 输出描述:

 * 12.75

题目很简单,时间复杂度O(N)内解决,就是维持一个长度为K的计算窗口,遍历数组,进来后一个数则减去窗口内的第一个数,保存最大的子数组和。最后除以窗口长度转换为浮点数输出即可。

import java.util.Scanner;public class AverageOfMaxSubArray {	public static void main(String[] args) {		Scanner in = new Scanner(System.in);				int N = Integer.parseInt(in.nextLine());		int[] arr = new int[N];		String str = in.nextLine();		String[] str1 = str.split(" ");		for(int i=0; i
运行结果:

你可能感兴趣的文章
Linux 文件编码大挪移
查看>>
最最流行的10个开源数据可视化项目
查看>>
新人需要掌握的五大Linux终端命令的技巧
查看>>
超简单玩转 GitHub 的问题单(issue)
查看>>
学编程需要学好英语?
查看>>
大神教你在 Linux 中查看你的时区
查看>>
Linux系统值得一看的学习方法及路线图
查看>>
微软发布支持Linux的SQL Server
查看>>
“虚拟现实时代强势来袭!”已被锁定 虚拟现实时代强势来袭!
查看>>
教你在 Linux 上使用 Calibre 创建电子书
查看>>
总结4点对学习Linux有帮助的建议(纯干货)
查看>>
如何解决MySQL字符集乱码问题
查看>>
开源可以用来做设计,这是真的吗?
查看>>
在Kali Linux下实战Nmap的秘诀
查看>>
黑客利用瑞昱声卡设计缺陷监听你?
查看>>
实用的删除目录下部分类型之外的所有文件的三种方法
查看>>
如何使用 Git 管理二进制大对象
查看>>
高效能远程会话管理工具-screen
查看>>
利用Docker轻松实现云原生应用
查看>>
在 Linux 和 Windows 之间玩转 Steam 游戏
查看>>