You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

最少调用all_zeros查找二进制数组所有1索引的算法设计

问题描述

给定未排序的二进制数组a,检测时唯一允许调用的操作是all_zeros(a):仅当传入数组的所有元素均为0时返回True。该操作的时间复杂度为o(len(a)),同时会叠加数值较大的固定调用开销。
核心需求为:尽可能减少all_zeros的调用次数,定位数组中所有值为1的元素索引。

场景说明与方案要求

  • 典型适用子场景为稀疏1场景:数组中1的数量远少于0的数量,1的规模约为0数量的1/100~1/1000
  • 逐元素遍历、对单个元素调用all_zeros([element])虽然理论上可解决问题,但受操作固定开销较高的影响,实际运行效率极低,因此检测时应尽量采用大批次区间检测的方式减少调用次数
  • 方案不强制要求预先知晓数组中1的占比,若算法需要依赖该占比作为参数,也可正常提出
  • 本次寻求概念层面的平均情况最优解,无需针对最坏情况做优化;若存在可始终达到最小调用开销的最优方案,将被优先采纳

内容的提问来源于stack exchange,提问作者Gulzar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 21:18:22