Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在给定范围内查找掩码的子掩码

在给定范围内查找掩码的子掩码
EN

Stack Overflow用户
提问于 2020-05-04 14:54:56
回答 1查看 473关注 0票数 0

如何找到给定掩码的最大子掩码,该掩码恰好等于或小于给定值r。例如,掩码(二进制101中的5个)的子掩码是4(二进制为100),1(二进制为001)。现在如果给定r=5,那么答案将是5,如果r =3,那么答案将是1,依此类推。我想要一个有效的算法,可以在较短的时间内计算它。

但是这段代码给我的时间限制超过了.as,掩码的值可以是<=10^9,如果有人给我优化的方法来降低时间复杂度,这将是非常有帮助的。

我尝试的是:

for(int i=mask;i>0;i=(i-1)&mask) if(i<=r) print(i);

EN

回答 1

Stack Overflow用户

发布于 2020-05-04 15:18:20

这似乎非常快(对于10^9个数字,迭代不超过32次,基本上是O(logN)复杂度):

代码语言:javascript
运行
AI代码解释
复制
>>> def submask( mask, r ) :
...     result = 0
...     for bit in range(32,-1,-1) :
...         value = 1 << bit
...         if value & mask == 0 : continue
...         if value | result <= r :
...             result |= value
...     return result
... 
>>> submask(5,1)
1
>>> submask(5,3)
1
>>> submask(5,4)
4
>>> submask(5,5)
5
>>> submask(7,2)
2
>>> 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61595166

复制
相关文章
实施ERP的最佳方法是什么
也许您已决定加入潮流,并在公司中实施企业资源计划或ERP,或者您要从当前的ERP系统进行升级。令人恐惧的部分可能是进行更改。您应该放弃所有内容并立即启动ERP还是可以分阶段实施?
深圳ERP
2019/12/13
1K0
实施ERP的最佳方法是什么
离线存储加密货币的最佳方式是什么?
我们最好将它们存储在冷藏库或离线钱包中,因为在这些类型的钱包中,您可以控制私钥 目前市场上有数百种加密货币。虽然他们中的一些人拥有多个离线钱包选项,但其中一些根本没有。 我将用最新的选项更新此冷库或离线钱包列表,因此请继续检查这里是否有更新。 Bitcoin-Ledger Nano S, Trezor & KeepKey,Bitaddress,Electrum, Armory Ethereum-Ledger Nano S, Trezor & KeepKey,MyEtherWallet Ripple-Ledg
架构师研究会
2018/04/09
2.2K0
块存储、对象存储、文件存储, 容器存储的最佳方式应该是什么?
容器的无状态临时存储是一个很好的特性。从镜像启动一个容器,修改,停止,然后重新启动一个容器。一个全新的跟镜像一模一样的容器回来了。
焱融科技
2020/02/28
4.7K0
块存储、对象存储、文件存储, 容器存储的最佳方式应该是什么?
确保云安全的最佳方法是什么?
随着云计算成为企业开展业务的一种基础技术,云安全已变得至关重要。然而,充分了解云安全的最佳策略是一个真正的挑战。
静一
2020/03/25
7870
确保云安全的最佳方法是什么?
Flutter 1.12 最新 hotfix 与 2020 路线计划
大年初三的时候 v1.12.13+hotfix.7 终于发布了,该版本发布后总算把 1.12.13 版本上的几个大坑填完,算是达到“能用”的稳定版本;同时 1 月 30 号官方也发布了 2020 Flutter 最新的路线计划,也算是新的一年“美好”的开始吧。
GSYTech
2020/02/18
1.2K0
Flutter 1.12 最新 hotfix 与 2020 路线计划
架构师的最佳成长路线
想一两句话把什么是架构师讲清楚,是非常困难的一件事。因为架构师这个角色是致力于解决高度复杂抽象的问题,所以架构师的定义也是复杂抽象的。
35岁程序员那些事
2023/01/05
1.1K0
架构师的最佳成长路线
前端学习路线与方法
在“开篇词”中,我和你简单回顾了前端行业的发展,到现在为止,前端工程师已经成为研发体系中的重要岗位之一。可是,与此相对的是,我发现极少或者几乎没有大学的计算机专业愿意开设前端课程,更没有系统性的教学方案出现。大部分前端工程师的知识,其实都是来自于实践和工作中零散的学习。
李才哥
2019/07/10
5140
Android学习最佳路线
看到一篇文章中提到“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺“,这的确不假,从我在百度所进行的一些面试来看,找一个适合的高级Android工程师的确不容易,一般需要进行大量的面试才能挑选出一个比较满意的。为什么中高级Android程序员不多呢?这是一个问题,我不好回答,但是我想写一篇文章来描述下Android的学习路线,期望可以帮助更多的Android程序员提升自己。由于我也是从一个菜鸟过来的,所以我会结合我的个人经历以及我对Android学习过程的认识来写这篇文章,这会让这篇文章更加真实,而并非纸上谈兵。
Android技术干货分享
2019/03/26
1.1K0
Spark Core源码精读计划23 | 与存储相关的内存池及内存管理器的具体实现
我们用两篇文章的时间搞清楚了Spark存储中的“块”到底是怎么一回事,接下来我们就可以放心来看Spark Core存储子系统的细节了。前面已经提到过,Spark会同时利用内存和外存,尤其是积极地利用内存作为存储媒介。这点与传统分布式计算框架(如Hadoop MapReduce)的“内存仅用于计算,外存仅用于存储”的方式是非常不同的,同时也是Spark高效设计哲学的体现。接下来一段时间内,我们先研究Spark存储中的内存部分,再研究磁盘(外存)部分。
大数据真好玩
2019/08/21
5580
Spark Core源码精读计划23 | 与存储相关的内存池及内存管理器的具体实现
SAP最佳业务实践:半成品的计划与处理(234)-2需求计划
产品成本核算(半成品和产成品) 本操作的目的是进行产品成本核算。 这是一个定期执行的步骤。仅需每月执行一次。通常应在每月初执行此步骤。如果是第一次执行此步骤,请使用当前日期。 准备步骤 (154) 要执行此操作,请使用此文档中的主数据执行以下步骤(另请参见下表): 从业务情景 准备步骤 (154) 处理的步骤产品成本核算:成本核算运行 主数据值业务条件注释物料类型FERT 只有物料 F234-1 和 F234-2 与此业务情景相关,请只选择这些物料。物料类型HALB 只有物料 S234-1 与此业务情景相关
SAP最佳业务实践
2018/03/27
1.9K0
SAP最佳业务实践:半成品的计划与处理(234)-2需求计划
CSV vs 数据库:爬虫数据存储的最佳选择是什么
在爬虫技术中,数据存储是一个不可缺少的环节。然而,选择合适的存储方式对数据分析和结果应用都致关重要。CSV和数据库是常用的两种存储方式,但它们各有优缺。这篇文章将分析两者在爬虫数据存储方面的选择值。
jackcode
2024/12/26
1520
CSV vs 数据库:爬虫数据存储的最佳选择是什么
关于大学计算机相关专业学习路线的见解与分析
不管你是如何选择了这门专业,我想告诉你的是这是一个很深的领域,没有热爱不如尽早转行。
全栈程序员站长
2022/08/18
8010
你的扩展计划是什么?
随着技术的快速发展和市场需求的不断变化,为系统或应用程序制定一个全面的扩展性规划变得至关重要。这样的规划旨在确保系统能够有效应对用户增长、数据激增、交易频率提升及复杂性增加等问题。本文将详细介绍如何制定一个有效的扩展性规划。
coderidea
2024/01/14
1700
你的扩展计划是什么?
模型部署优化的学习路线是什么?
模型部署优化这个方向其实比较宽泛。从模型完成训练,到最终将模型部署到实际硬件上,整个流程中会涉及到很多不同层面的工作,每一个环节对技术点的要求也不尽相同。
Aceyclee
2021/08/10
8630
模型部署优化的学习路线是什么?
pytorch中与维度相关的函数、方法
多个tensor向量在某个维度上进行堆叠。注意的是:stack只是torch的函数。
木又AI帮
2020/05/20
1.1K0
串是什么,串存储结构的3种实现方法
数据结构中,字符串要单独用一种存储结构来存储,称为串存储结构。这里的串指的就是字符串。 严格意义上讲,串存储结构也是一种线性存储结构,因为字符串中的字符之间也具有"一对一"的逻辑关系。只不过,与之前所学的线性存储结构不同,串结构只用于存储字符类型的数据。 无论学习哪种编程语言,操作最多的总是字符串。数据结构中,根据串中存储字符的数量及特点,对一些特殊的串进行了命名,比如说:
zhangjiqun
2024/12/14
1410
串是什么,串存储结构的3种实现方法
丰田的生产计划与物料控制方法
众所周知TOYOTA能够以其产品的高品质、低成本、低油耗打进美国等发达国家的市场,而且形成了相当大的竞争优势,主要不在于它采用的生产制造技术,而是由于在生产组织和管理上采取了一系列先进的生产经营理念、管理模式、组织体系、管理技术和方法以及推行了良好的企业文化,被世人称为“丰田生产方式(TPS,TOYOTA Production System)”又被称作“精益生产(LPS)”,还被称为“准时生产制(JIT)”。仅仅从这些名称上就不难看出,车辆生产管理与零件的采购是其中起到最关键作用的一环。它是实体工厂生产的前工程,是降低汽车生产成本的捷径。
用户5495712
2021/01/13
1.4K0
pg中与执行计划相关的配置(ENABLE_*)参数
在pg中,一些以“ENABLE_*”开头的参数,这些参数提供了影响查询优化器选择不同执行计划的方法。
PHP开发工程师
2021/05/26
5080
使用 Python 开发桌面应用程序的最佳方法是什么?
Python 是一种通用编程语言,可用于各种任务,包括 Web 开发、数据分析和机器学习。它的最大优点之一是它还可用于创建桌面应用程序。在本文中,我们将深入探讨使用 Python 开发桌面应用程序的最佳实践。
很酷的站长
2023/02/18
7.5K0
使用 Python 开发桌面应用程序的最佳方法是什么?
多云数据存储的最佳实践
多云部署为很多组织的数据存储策略带来了许多挑战。通过将大量数据需求的应用程序存储在AWS、谷歌云和Azure等公共云提供程序上,组织的存储基础设施和整体存储管理将变得更加复杂。然而,组织必须接受这种新的复杂性:多云正在迅速成为默认的云计算应用方式,而云计算本身就是组织IT的基础。
静一
2021/02/05
9640
多云数据存储的最佳实践

相似问题

存储相关数据以进行搜索的最佳方法

10

存储大量用户统计信息的最佳方法是什么?

30

在表中存储可选值的最佳方法是什么?

10

存储大量用户加密数据的最佳方法是什么?

30

最佳实践Server维护计划是什么样子的?

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档