当前位置: 首页 > news >正文

龙华企业网站建设公司郑州seo学校

龙华企业网站建设公司,郑州seo学校,郑州网站开发设计公司电话,河南省城乡建设厅网站首页题目描述 有一套系统需升级,为减小系统升级期间的影响,需根据系统过去一段时间内的每小时平均访问数据,来预测 最佳升级时间窗。 现给长度为168(7*24)的整数数组,表示一个周期(假设从周一00:…

题目描述

有一套系统需升级,为减小系统升级期间的影响,需根据系统过去一段时间内的每小时平均访问数据,来预测

最佳升级时间窗。

现给长度为168(7*24)的整数数组,表示一个周期(假设从周一00:00到周日24:00)的每小时历史数据,最佳升级时间窗选择规则如下:

  • 时间窗内累计用户访问量必须大于给定的容忍值

  • 时间窗必须是连续的x个小时,最大的x即为最佳升级时间窗,且不超过7*24.

  • 时间窗允许跨周期,例如当前周期的第167小时到下一周期的第166axioms,是一个长度为168的时间窗。

请计算最佳升级时间窗,并返回其开始时间和结束时间的数组下标。如果存在多个最佳升级时间窗,返回开始时间下标最小的一个。

解答要求

时间限制:1000ms,内存限制:256MB

输入

第一行为整数n,表示给定的升级影响的容忍值,取值范围:[0, 2^31]。

第二行为7*24个整数,表示一个周期(7*24)的每个小时用户访问量,每个值的范围:[0, 2^31]。

输出

两个整数,分别表示所计算出的最佳升级时间窗的开始时间下标(包含)和结束时间下标(包含),不存在时返回 -1 -1

样例

输入样例

6
1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1

输出样例

22 25

编码实现(java)

    public static void main(String[] args) {int[] pvByHourWeekly = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};int[] result = getBestTimeWindow(pvByHourWeekly, 6);System.out.println(Arrays.stream(result).mapToObj(String::valueOf).collect(Collectors.joining(" ")));}public static int[] getBestTimeWindow(int[] pvByHourWeekly, int pvErrorTolerance) {int start = 0;int end = 0;int sum = 0;int maxWindow = 0;int maxStart = -1; // 初始值为-1,未找到最佳时间窗口for (int i = 0; i < pvByHourWeekly.length; i++) {sum += pvByHourWeekly[i];while (sum > pvErrorTolerance) {sum -= pvByHourWeekly[start];start++;}int windowSize = i - start + 1;if (windowSize > maxWindow) {maxWindow = windowSize;maxStart = start;end = i;}}// 判断是否找到了最佳时间窗口if (maxStart == -1) {return new int[]{-1, -1};} else {return new int[]{maxStart, end};}}

优化后代码

    public static void main(String[] args) {int[] pvByHourWeekly = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};int[] result = getBestTimeWindow(pvByHourWeekly, 6);System.out.println(Arrays.stream(result).mapToObj(String::valueOf).collect(Collectors.joining(" ")));}public static int[] getBestTimeWindow(int[] pvByHourWeekly, int pvErrorTolerance) {int start = 0;int end = 0;int sum = pvByHourWeekly[0];int maxWindow = 1;int maxStart = -1;for (int i = 1; i < pvByHourWeekly.length; i++) {sum += pvByHourWeekly[i];if (sum > pvErrorTolerance) {sum -= pvByHourWeekly[start];start++;}if (i - start + 1 > maxWindow) {maxWindow = i - start + 1;maxStart = start;end = i;}}if (maxStart == -1) {return new int[]{-1, -1};} else {return new int[]{maxStart, end};}}

输出结果

22 25Process finished with exit code 0
http://www.hkea.cn/news/921269/

相关文章:

  • 丽水微信网站建设报价免费精准客源
  • 广东建设工程中标公示网站google搜索引擎优化
  • 南宁老牌网站建设公司正版google下载
  • 网站做信用认证有必要吗微信朋友圈推广平台
  • 电子政务网站建设要求百度关键词规划师
  • 博客网站开发毕设免费大数据分析网站
  • 深圳教育平台网站建设好消息疫情要结束了
  • 国外设计文章的网站淘宝代运营靠谱吗
  • 市桥网站建设sem论坛
  • 猎头公司是做什么的可靠吗排名优化外包公司
  • 扶贫网站建设关键词查询神器
  • 沈阳酒店企业网站制作公司2023年9月疫情又开始了吗
  • 厦门专业网站建设如何快速推广一个新产品
  • 帮人做传销网站违法吗seo网站排名助手
  • 如何做优品快报下的子网站营销型网站建设目标
  • 用织梦做网站调用乱码营业推广是什么意思
  • 做走私网站北京口碑最好的it培训机构
  • 网站建设OA系统开发it培训机构哪家好
  • 网站运维可以做哪些域名查询网站入口
  • 网站开发的基本语言外贸平台自建站
  • 女生自己做网站营销方法有哪些
  • 怎么自己做网站吓别人金融网站推广圳seo公司
  • 彩票网站的客服有做吗海淀seo搜索优化多少钱
  • 河源哪有做网站网页模板设计
  • 手机网站可以做英文版本吗近三天时政热点
  • 怎么做网站游戏网络优化排名培训
  • ic外贸网站建设黑帽seo技巧
  • 实业有限公司网站怎么做百度一下了你就知道官网
  • 企业电子商务网站推广平台有哪些渠道
  • 本地用织梦做网站百度的网站网址