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

华为OD机试真题【服务器能耗统计】

1、题目描述

【服务器能耗统计】
服务器有三种运行状态:空载、单任务、多任务,每个时间片的能耗的分别为1、3、4;
每个任务由起始时间片和结束时间片定义运行时间;
如果一个时间片只有一个任务需要执行,则服务器处于单任务状志;
如果一个时间片有多个任务需要执行,则服务器处于多任务状态;
给定一个任务列表,请计算出从第一个任务开始,到所有任务结束,服务器的总能耗。

【输入描述】
第一行的数字表示一共有多少个任务
后续每行包含由空格分割的两个整数,用于确定每一个任务的起始时间片和结束时间片;
任务执行时间包含起始和结束时间片,即任务执行时间是左团右闭的;
结束时间片一定大于等于起始时间片;

【输出描述】
一个整数,代表服务器的总能耗

【样例1】
输入:
2
2 5
8 9
输出:
20
解释:
[0,1]没有任务需要执行,能耗为0
[2,5]处于单任务状态,能耗为34=12
[6,7]处于空载状态,能耗为1
2=2
[8,9]处于单任务状态,能耗为3*2=6
共计能耗为12+2+6=20

【样例2】
输入:

3
4 8
1 6
2 9
输出:
34
解释:
[0,1]没有任务需要执行,能耗为0
[1,1]处于单任务状态,能耗为31=3
[2,8]处于多任务状态,能耗为4
7=28
[9,9]处于单任务状态,能耗为3*1=3
共计能耗为3+28+3=34

2、解题思路

统计出最小和最大的运行时间,并统计从0到最大运行时间之间每个时间的任务数量,遍历每个任务的开始时间到结束时间并将其任务数量加一。最后,遍历统计的任务数量,空载消化1,单任务消化3,多任务消化3,注意是最小开始时间到最大结束时间之间。

3、参考代码

import java.util.Scanner;/*** @Author* @Date 2023/5/5 22:55*/
public class 服务器能耗统计 {public static void main(String[] args) {Scanner in = new Scanner(System.in);while (in.hasNext()) {int num = in.nextInt();int[][] times = new int[num][2];int minTime = Integer.MAX_VALUE;int maxTime = 0;for (int i = 0; i < num; i++) {times[i][0] = in.nextInt();times[i][1] = in.nextInt();minTime = Math.min(minTime, times[i][0]);maxTime = Math.max(maxTime, times[i][1]);}System.out.println(total(num, times, minTime, maxTime));}}public static int total(int num, int[][] times, int minTime, int maxTime) {// 统计每个时间的任务数int[] time = new int[maxTime + 1];for (int i = 0; i < num; i++) {for (int j = times[i][0]; j <= times[i][1]; j++) {  // 遍历开始时间到结束时间time[j]++;}}int res = 0;for (int i = minTime; i <= maxTime; i++) {if (time[i] == 0) {  // 空载res += 1;} else if (time[i] == 1) {  // 单任务res += 3;} else {res += 4;}}return res;}
}

4、相似题目

http://www.lryc.cn/news/182772.html

相关文章:

  • ubuntu按下del却出现空格(命令行下键盘错乱)
  • Go开始:Go基本元素介绍
  • 十二、【漏洞复现】Rails任意文件读取(CVE-2019-5418)
  • 【计算机视觉|人脸建模】学习从4D扫描中获取的面部形状和表情的模型
  • 【ADB】蓝牙总结
  • 嵌入式系统设计与应用---ARM处理器体系结构(学习笔记)
  • 计算机竞赛 身份证识别系统 - 图像识别 深度学习
  • StarRocks数据导入
  • JavaSE | 初识Java(一) | JDK \ JRE \ JVM
  • 6轮面试阿里Android开发offer,薪资却从21k降到17k,在逗我?
  • 基于混合蛙跳优化的BP神经网络(分类应用) - 附代码
  • [架构之路-230]:计算机硬件与体系结构 - 可靠性、可用性、稳定性;MTTF、MTTR、MTBF
  • selenium自动化测试环境安装教程
  • 如何修改springboot项目启动时的默认图标?
  • 基于阴阳对优化的BP神经网络(分类应用) - 附代码
  • Spring bean定义Spring Bean 的作用域
  • 代码随想录 动态规划 part16
  • 非 Prop 的属性
  • 初识Java 12-3 流
  • 代码随想录算法训练营第42天|动态规划:01背包理论基础、动态规划:01背包理论基础(滚动数组)、416. 分割等和子集
  • (详解)Linux常见基本指令(1)
  • 紫光同创FPGA图像视频采集系统,提供2套PDS工程源码和技术支持
  • 第一章 函数 极限 连续(解题方法须背诵)
  • selenium +IntelliJ+firefox/chrome 环境全套搭配
  • CentOS 7 停止维护后如何平替你的生产系统?
  • 第81步 时间序列建模实战:Adaboost回归建模
  • 135.【JUC并发编程_01】
  • VC++创建windows服务程序
  • 连续爆轰发动机
  • 交通物流模型 | 基于时空注意力融合网络的城市轨道交通假期短时客流预测