1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

算法思路

  1. 均值 & 标准差

    • 用前缀和与前缀平方和可快速计算:

      • sum = prefix[i+w] - prefix[i]
      • mean = sum / w
      • var = (Σy² - w*mean²) / (w-1)

P3640.第3题-多尺寸窗口滑动的特征转换

    1000ms Tried: 1085 Accepted: 167 Difficulty: 9 所属公司 : 华为
    算法与标签>滑动窗口

题目内容

题目背景:

数据治理阶段经常会碰到特征转换,当前有一个时间序列数据(用 111 维整数数组表示),和一个窗口序列( 111 维整数数组),窗口序列中每个元素表示 111 个窗口 www 。

转换要求:

实现一个多尺寸滑动窗口特征转换函数,每个窗口提取 555 个特征,计算出来如果是整数不带小数点,则小数点后最多保留 333 位(四舍五入)

小数点举例说明:

1.0−>11.0->11.0−>1 整数不带小数点

1.10−>1.11.10->1.11.10−>1.1 结尾不带 000

1.1116−>1.1121.1116->1.1121.1116−>1.112 最多保留 333 位小数,最后一位四舍五入

特征包含:

均值(meanmeanmean)

标准差(样本标准差,ddof=1ddof=1ddof=1 ;分母为 000 时,返回 000 )

最小值(minminmin)

最大值(maxmaxmax)

线性趋势斜率(使用线性回归拟合)

线性趋势斜率算法:

时间索引: x=[0,1,2,...,w−1]x = [0, 1, 2,...,w-1]x=[0,1,2,...,w−1]

对应的值: y=[y0,y1,y2,...,yw−1]y = [y_0,y_1, y_2,...,y_{w-1}]y=[y0​,y1​,y2​,...,yw−1​]

拟合一条直线:y=βx+αy=βx+αy=βx+α

βββ 是斜率(我们需要的趋势斜率)

ααα 是截距

使用最小二乘法,斜率的计算公式为:

β=[n∗∑(xy)−∑x∗∑y]/[n∗∑(x2)−(∑x)2]β = [n* ∑(xy) - ∑x*∑y] / [n*∑(x^2) - (∑x)^2]β=[n∗∑(xy)−∑x∗∑y]/[n∗∑(x2)−(∑x)2]

nnn 是窗口大小

标准差计算公式:

s=1n−1∑i=1n(xi−xˉ)2s=\sqrt{\frac{1}{n-1} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}s=n−11​∑i=1n​(xi​−xˉ)2​

转换规则:

对于每个窗口大小 w(window_arrayw(window\_arrayw(window_array 中的一个元素),从索引(索引从 000 开始)i=max(window_arravy)−wi=max(window\_arravy)-wi=max(window_arravy)−w ,开始滑动窗口

所有窗口的特征按 window_arravwindow\_arravwindow_arrav 中的元素顺序排列

如果数组长度小于任意一个窗口大小,则结果数组为空

输入描述

inputinputinput_arrayarrayarray :一维数组,表示时间序列数据

windowwindowwindow_arrayarrayarray:一维数组,多个窗口,每个元素为窗口 www

输出描述

二维数组,形状为 (n,m)(n,m)(n,m) ,其中:

n=len(input_array)−max(window_array)+1n = len(input\_array) - max(window\_array) +1n=len(input_array)−max(window_array)+1

m=len(window_array)∗5m = len(window\_array) * 5m=len(window_array)∗5

每一行说明:

[mean1,std1,min1,max1,slope1,mean2,std2,min2,max2,slope2,...][mean1, std1, min1, max1, slope1, mean2, std2, min2, max2, slope2,...][mean1,std1,min1,max1,slope1,mean2,std2,min2,max2,slope2,...]

样例1

输入

[10, 20], [3, 4]

输出

[]

说明

输入长度小于窗口最小大小,输出空数组

样例2

输入

[1, 2, 3, 4, 5], [2, 3]

输出

[2.5, 0.707, 2, 3, 1, 2, 1, 1, 3, 1]
[3.5, 0.707, 3, 4, 1, 3, 1, 2, 4, 1]
[4.5, 0.707, 4, 5, 1, 4, 1, 3, 5, 1]

说明

1、窗口大小 222 的特征:

[2,3]: mean=2.5,std=0.707, min=2, max=3, slope=1

[3,4]: mean=3.5, std=0.707, min=3, max=4, slope=1

[4,5]: mean=4.5, std=0.707, min=4, max=5, slope=1

2、窗口大小 333 的特征:

[1,2,3]: mean=2, std=1, min=1, max=3, slope=1

[2,3,4]: mean=3, std=1, min=2, max=4, slope=1

[3,4,5]: mean=4, std=1, min=3, max=5, slope=1

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 2, 78ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?