华为 · 模拟 · 算法编程题
华为 模拟 时限 1 秒 / 256 MB

题目描述

你拿到了一台存储集群导出的“监控快照”原始行。该行把若干个样本首尾相接在一起,每个样本严格包含19个浮点特征(按固定顺序)。请把整行解析为若干样本,然后对每一列特征分别计算以下统计量,并按指定顺序输出:
·
对每列特征依次输出:mean max min ptp std var skew kurt
·
说明
·
mean: 该列的算术平均
·
max/min: 该列最大/最小
·
ptp: 极差=max−min
·
std/var: 使用总体标准差/总体方差(分母用样本数 n)
·
skew: 总体偏度=平均[((x−mean)/std)^3]。若该列 std=0,则定义 skew=0
·
kurt: 总体超峰度=平均[((x−mean)/std)^4]−3。若该列 std=0,则定义 kurt=0

输入输出

输入描述
· 输入保证总浮点数个数是19的整数倍
输出描述
· 先输出特征0的8个统计量,再输出特征1的8个统计量,……直到特征18
· 结果用空格分隔;所有数保留两位小数

样例共 1 组

样例 1 · 共有3个样本,每列是长度为3的等差序列,因此每列 mean 为中间值,ptp=2,std=√(2/3)≈0.82,var=2/3≈0.67,skew=0,kurt=−1.50。
输入
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
输出
1.00 2.00 0.00 2.00 0.82 0.67 0.00 -1.50 2.00 3.00 1.00 2.00 0.82 0.67 0.00 -1.50 3.00 4.00 2.00 2.00 0.82 0.67 0.00 -1.50 4.00 5.00 3.00 2.00 0.82 0.67 0.00 -1.50 5.00 6.00 4.00 2.00 0.82 0.67 0.00 -1.50 6.00 7.00 5.00 2.00 0.82 0.67 0.00 -1.50 7.00 8.00 6.00 2.00 0.82 0.67 0.00 -1.50 8.00 9.00 7.00 2.00 0.82 0.67 0.00 -1.50 9.00 10.00 8.00 2.00 0.82 0.67 0.00 -1.50 10.00 11.00 9.00 2.00 0.82 0.67 0.00 -1.50 11.00 12.00 10.00 2.00 0.82 0.67 0.00 -1.50 12.00 13.00 11.00 2.00 0.82 0.67 0.00 -1.50 13.00 14.00 12.00 2.00 0.82 0.67 0.00 -1.50 14.00 15.00 13.00 2.00 0.82 0.67 0.00 -1.50 15.00 16.00 14.00 2.00 0.82 0.67 0.00 -1.50 16.00 17.00 15.00 2.00 0.82 0.67 0.00 -1.50 17.00 18.00 16.00 2.00 0.82 0.67 0.00 -1.50 18.00 19.00 17.00 2.00 0.82 0.67 0.00 -1.50 19.00 20.00 18.00 2.00 0.82 0.67 0.00 -1.50

算法解析依据充分

考点:模拟

限制 1 秒 / 256MB | 标准输入输出

题目画像

  • 源站时限:1 秒(牛客口径,非本题专属门槛)

解题思路

推荐方向:模拟

本题切入点

按定义逐列统计:先按 19 个一组切分样本,再对每列算 mean/max/min/ptp/std/var/skew/kurt(总体口径,std=0 时偏度峰度定义为 0),顺序输出两位小数。

不涉及复杂算法,把题目描述的流程原样翻译成代码逐步执行即可。

思路框架(模拟 通法 · 非本题专属)

  1. 用变量记录题目要求的「状态」(当前值、剩余数量、当前位置等)。
  2. 按题面给出的顺序,把每一步操作写成一段代码,逐条执行。
  3. 每一步执行后更新状态,并在题目要求的位置输出或累计答案。
  4. 注意循环的边界:执行多少次、何时终止、是否能终止。

实现要点:结构上通常是一个外层循环包住若干 if/else 分支;只要状态定义清楚,正确率很高。

复杂度:时间 O(操作次数) | 空间 O(状态数)

该范式的通法易错点

  • 终止条件写错导致死循环或漏做最后一次操作。
  • 状态更新顺序颠倒(先改了下标又用旧下标)。
  • 题目里「最多 / 恰好 / 至少」的语义差别没区分。

样例解读

样例 1:输入 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 3 → 输出 1.00 2.00 0.00 2.00 0.82 0.67 0.00 -1.50 2.00 3.00 1.00 2.00 0.82 0.67 0.00 -1.50 3.00 4.00 2.00 2.0

共有3个样本,每列是长度为3的等差序列,因此每列 mean 为中间值,ptp=2,std=√(2/3)≈0.82,var=2/3≈0.67,skew=0,kurt=−1.50。

解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。

本题来源:2025年秋招-华为-10月10号留学生AI岗。

‹ 上一题 全部编程题 下一题 ›
编程算法题为只读内容:无需作答,直接看题与解析 · 本站不提供在线判题 · 解析由校招宝本地引擎整理,非官方题解