题目要求通过最少次数的加 1 或减 1 操作(数字只能在 0 到 9 之间变化),使得序列中存在一个长度为 k 的连续子序列,其内部所有数字完全相同。
由于最终相同的数字只可能是 0 到 9 中的某一个,我们可以采用以下策略:
cost = cost - |a[i-k] - d| + |a[i] - d|,从而实现 O(1) 更新。给定一个由 0 到 9 整数构成的序列 a1,a2,…,an。每次操作你可以选择一个位置,将其数值增加 1 或减少 1,但不能将 0 减少,也不能将 9 增加。
请计算最少需要多少次操作,可以使得序列中存在一个长度为 k 的连续子序列,该子序列内的所有数字完全相同。
约束:序列长度 n 不超过 105,1≤k≤n,每个元素的取值范围为 0 到 9。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册