华为OD机试 - 优雅数组(Python)【2023-Q1 新题】

本文介绍华为OD机试中的优雅数组问题,分析如何找出数组中出现次数大于等于k的子数组。文章提供解题思路,示例详解及代码实现,强调理解而非机械记忆以提高通过率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

华为OD机试300题大纲

参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。

华为 OD 清单查看地址:blog.youkuaiyun.com/hihell/category_12199275.html

华为OD详细说明:https://dream.blog.youkuaiyun.com/article/details/128980730

本篇题解:优雅数组 | 华为OD机试

题目描述

如果一个数组中出现次数最多的元素出现大于等于 k 次,被称为k-优雅数组,k 也可以被称为优雅阈值
例如,数组[1, 2, 3, 1, 2, 3, 1],它是一个3-优雅数组,因为元素1出现次数大于等于 3 次,
数组[1, 2, 3, 1, 2]就不是一个3-优雅数组,因为其中出现次数最多的元素时12,只出现了 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] 满足:1≤A[i]≤n

输出描述

数据一个整数,表示数组 A 中k-优雅子数组的数量
行尾不要有多余空格

示例一

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想橡皮擦

如有帮助,来瓶可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值