华为OD机试真题 Java 实现【日志采集系统】【2023Q1 100分】

在这里插入图片描述

一、题目描述

日志采集是运维系统的的核心组件。日志是按行生成,每行记做一条,由采集系统分批上报。

  • 如果上报太频繁,会对服务端造成压力;
  • 如果上报太晚,会降低用户的体验;
  • 如果一次上报的条数太多,会导致超时失败。

为此,项目组设计了如下的上报策略:

  1. 每成功上报一条日志,奖励1分
  2. 每条日志每延迟上报1秒,扣1分
  3. 积累日志达到100条,必须立即上报

给出日志序列,根据该规则,计算首次上报能获得的最多积分数。

二、输入描述

按时序产生的日志条数T1,T2…Tn,其中1 <= n <= 1000,0 <=Ti <= 100。

三、输出描述

首次上报最多能获得的积分数。3222

四、解题思路

  1. 读取输入的整数数组 arr;
  2. 初始化变量 count 和 max 为 0,用于记录累积日志条数和最大积分数;
  3. 遍历数组元素的下标 i,从 0 到 arr.length-1;
    • 将当前元素的值转换为整数 num;
    • 如果 num 为 0,跳过当前循环;
    • 累加 num 到

你可能感兴趣的:(java,华为,开发语言,算法,面试)