最近更新的博客
- 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单
- 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典
- 【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南
- 华为od机试,独家整理 已参加机试人员的实战技巧
本篇题解:优雅数组 | 华为OD机试
题目描述
如果一个数组中出现次数最多的元素出现大于等于 k 次,被称为k-优雅数组
,k 也可以被称为优雅阈值
。
例如,数组[1, 2, 3, 1, 2, 3, 1]
,它是一个3-优雅数组
,因为元素1
出现次数大于等于 3 次,
数组[1, 2, 3, 1, 2]
就不是一个3-优雅数组
,因为其中出现次数最多的元素时1
和2
,只出现了 2 次。
给定一个数组 A 和 k,请求出 A 有多少子数组是k-优雅子数组
。
子数组是数组中一个或多个连续元素组成的数组。
例如,数组[1, 2, 3, 4]
包含 10 个子数组,分别是:
[1]
,
[1, 2]
,
[1, 2, 3]
,
[1, 2, 3, 4]
,
[2]
,
[2, 3]
,
[2, 3, 4]
,
[3]
,
[3, 4]
,
[4]
。
输入描述
第一行输入两个整数 n 和 k,n 是数组 A 的长度,k 是优雅阈值。
第二行输入 n 个整数,表示给定的数组 A。
1≤n≤10000,1≤k≤n
数组 A 中的元素 A[i