当前位置: 首页 > news >正文

360浏览器怎么加入可信站点广州番禺怎么读

360浏览器怎么加入可信站点,广州番禺怎么读,上海市建设工程咨询行业协会官网,网页设计制作公司做什么题目描述: 请你设计一个数据结构,它能求出给定子数组内一个给定值的 频率 。 子数组中一个值的 频率 指的是这个子数组中这个值的出现次数。 请你实现 RangeFreqQuery 类: RangeFreqQuery(int[] arr) 用下标从 0 开始的整数数组 arr 构造…

题目描述:

请你设计一个数据结构,它能求出给定子数组内一个给定值的 频率 。

子数组中一个值的 频率 指的是这个子数组中这个值的出现次数。

请你实现 RangeFreqQuery 类:

  • RangeFreqQuery(int[] arr) 用下标从 0 开始的整数数组 arr 构造一个类的实例。
  • int query(int left, int right, int value) 返回子数组 arr[left...right] 中 value 的 频率 。

一个 子数组 指的是数组中一段连续的元素。arr[left...right] 指的是 nums 中包含下标 left 和 right 在内 的中间一段连续元素。 

 代码思路:

类初始化 __init__ 方法

  1. 输入参数:接收一个整数列表 arr
  2. 数据结构:使用 defaultdict(list) 来存储每个值在数组 arr 中出现的所有索引。defaultdict 是 Python collections 模块中的一个容器,它允许我们通过默认工厂函数(这里是 list)来自动初始化缺失的键。
  3. 填充字典:遍历数组 arr,对于每个元素 v 和其索引 i,将索引 i 添加到字典 dct 中键 v 对应的列表中。这样,dct[value] 将会是一个列表,包含所有值为 value 的元素的索引。

查询方法 query

  1. 输入参数:接收三个整数 leftright 和 value,分别表示查询的左边界、右边界和要查询的值。
  2. 查询逻辑
    • 使用 bisect.bisect_left 函数在 dct[value] 列表中查找第一个大于或等于 left 的索引的位置。这个位置之前的所有索引都不在查询区间 [left, right] 内。
    • 使用 bisect.bisect_right 函数在 dct[value] 列表中查找第一个大于 right 的索引的位置。这个位置之前的所有索引(不包括这个位置本身)都在查询区间 [left, right] 内。
    • 计算这两个位置之间的差值,即 bisect_right 返回的位置减去 bisect_left 返回的位置。这个差值就是值 value 在区间 [left, right] 内出现的次数。

代码实现:

class RangeFreqQuery:def __init__(self, arr: List[int]):self.dct = defaultdict(list)for i, v in enumerate(arr): self.dct[v].append(i)def query(self, left: int, right: int, value: int) -> int:return bisect.bisect_right(self.dct[value], right) - bisect.bisect_left(self.dct[value], left)

http://www.yayakq.cn/news/921613/

相关文章:

  • 广东住房和城乡建设部网站深圳正规燃气公司一览表
  • 有创意的30个网站个人 网站建设
  • 重庆专业做网站wordpress 商店模板
  • seo公司网站建设中铁建设门户网登录入口在哪
  • 网站建设策划书的要求杭州网站制作公司排名
  • 茂名网站建设方案推广什么叫网站收录
  • 建设企业网站需要什么php ajax网站开发典型实例 pdf
  • 最新网站建设wordpress建博客
  • 深圳注册公司核名在哪里核名重庆seo网站推广优化
  • 江西南昌网站建设哪家公司好怎么学网站设计
  • 推荐佛山顺德网站建设wordpress模板如何修改字体
  • 做教育机构网站上海做外贸网站设计
  • 工业和信息化部网站备案管理系统开业时网站可以做哪些活动吗
  • 做家庭影院的有哪些网站专业制作彩铃网站
  • 图片代码如何做网站优质高职院建设网站
  • 高端品牌网站建设图片济源网络推广
  • 重庆高考征集志愿网站谁能赐教
  • 推广网络营销外包公司梧州自助建站seo
  • 网站开发需要学mvc吗教育网站开发用例图
  • 建设科技信息 网站建设重庆维力安网站建设
  • 杭州网站推广服务文案写作软件app
  • 结构设计在哪个网站接单兼职做衡水企业网站建设费用
  • 做网站最便宜要多少钱搭建平台筑巢引凤
  • 网站开发的方法有哪些桂林网站建设服务
  • 铭讯网站建设腾讯企业邮箱登录入口网址
  • 深圳建设局招标网站怎样给公司申请一个网站
  • 网站开发培训课程表wordpress 5.2中文版
  • 中国建设银行邵阳分行网站搭建网站做财务系统
  • 郑州网站建设信息自定义短链接生成
  • 最讨厌网站南昌地宝网二手房出售信息