面试题 05.03. 翻转数位

leetcode 面试题 05.03. 翻转数位 【题目】面试题 05.03. 翻转数位 给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。 示例 1: 输入: num = 1775(110111011112) 输出: 8 示例 2: 输入: num = 7(01112) 输出: 4 【解题思路1】计数 class Solution { public int reverseBits(int num) { int bit = 32; int max = 0; 阅读详情

题

面试题 05.03. 翻转数位
给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。

示例 1:

输入: num = 1775(110111011112)
输出: 8
示例 2:

输入: num = 7(01112)
输出: 4

解题思路

代码

  • 通过左移方式1 再与原数取& 是一种非常好的探求一个数二级制表示方法!
  • 大佬题解
class Solution:
    def reverseBits(self, num: int) -> int:
        ans = 0
        unite = 0
        oneSize = 0

        for i in range(32):
            # 通过左移方式1 再与原数取& 是一种非常好的探求一个数二级制表示方法!
            if num & (1 << i):
                oneSize += 1
                unite += 1
            else:
                # 如果中间有两个0 unite也会变为0+1 +1是因为就算是0也至少有一位 
                unite = oneSize+1
                oneSize = 0
            if unite > ans:
                ans = unite

        return ans
动态规划 - 面试题 05.03. 翻转数位 【代码】动态规划 - 面试题 05.03. 翻转数位。 阅读详情

相关推荐

二手分析仪器改造实战:如何用PMT搭建荧光检测电路(附完整电路图)

本文详细介绍了如何利用二手分析仪器中的光电倍增管(PMT)核心部件,进行荧光检测电路的实战改造。内容涵盖从PMT工作原理理解、高压供电电路设计、低噪声前置放大(跨阻放大器)到信号调理的完整流程,并提供了关键电路图与调试排错指南,旨在帮助电子爱好者与工程师低成本构建稳定、高灵敏度的专业检测系统。

weixin_29234239的博客 441

力扣解题思路:面试题 05.03. 翻转数位

面试题 05.03. 翻转数位 思路: 两种方法: //使用数组记录连续 1 的个数。 如果遇见一段连续的 1,那么会在数组中同一个位置进行累加。 // 如果遇见了 0,数组下标指针加 1。 稍微思考一下,不难明白此时本题就转换为数组中最大的相邻元素之和。 public int reverseBits(int num) { int[] arr = new int[32]; int idx = 0, max = 0; while(num != 0){

qq_39879315的博客 236

YOLOv8模型部署与测试:保姆级教程(含Ultralytics配置避坑指南)

本文提供了一份详尽的YOLOv8模型部署与测试指南,涵盖环境配置、模型加载、参数优化、批量处理及API服务封装等关键步骤。重点分享了Ultralytics框架在实际部署中的常见问题与解决方案,帮助开发者高效完成从训练到生产的过渡,确保模型在真实场景中稳定运行。

weixin_29038155的博客 293

Leetcode 面试题 05.03. 翻转数位

题目描述 给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。 示例 1: 输入: num = 1775(110111011112) 输出: 8 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-bits-lcci 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 C++ class Solution { public: //利用 n&1可以判奇偶

sdau_clt的博客 334

ETL第八章无人售货机零售项目实践

ETL实战项目——无人售货机

m0_52058217的博客 4418

一生一芯 预学习阶段 NEMU代码学习(2)

如果 nemu_state.state == NEMU_ABORT:说明程序处于 "中止" 状态,输出 "ABORT",并且使用 ANSI_FG_RED 红色格式化显示。如果 halt_ret == 0,表示程序正常终止(触发了 "GOOD TRAP"),输出 "HIT GOOD TRAP",并使用 ANSI_FG_GREEN 绿色显示。如果要执行的指令数量 n 小于预定义的常量 MAX_INST_TO_PRINT,则将 g_print_step 置为 true,表示会逐步打印指令执行的过程。

weixin_45041054的博客 827

【面试题 05.03】翻转数位

题目 题目链接 给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。 示例 1: 输入: num = 1775(110111011112) 输出: 8 示例 2: 输入: num = 7(01112) 输出: 4 实现思路 根据题意,理解下就会发现 我们只需找串中每一个出现的0的左和右总共有多少连续的1, 然后找出来最大的长度即可。 举例说明: 输入: num = 1775(11011101111) 输出: 8 按0切分后得到的字符串数组 sp

WormholeStack 1314

【SWPUCTF 2021 新生赛】hardrce

对每个字符的ASCII值进行按位取反操作(这种要进行自增马进行绕过。

XiaoHei的博客 460

面试题 05.03:翻转数位

面试题 05.03:翻转数位题目解题方法一:动态规划 题目 题目链接 给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。 示例 1: 输入: num = 1775(110111011112) 输出: 8 示例 2: 输入: num = 7(01112) 输出: 4 解题 方法一:动态规划 参考链接 每次维护三个变量 cur:当前位置为止连续1的个数,遇到0归零,遇到1加1 insert:在当前位置变成1,往前数连续1的最大个数,遇到0变为cur+

菊头蝙蝠的博客 620

在Windows11下安装完Ubuntu20.04双系统后配置环境的过程

在Windows11下安装完Ubuntu20.04双系统后配置环境的过程 1.NVIDIA驱动检测及安装 2.Anaconda的安装 3.安装cuda、cudnn、pytorch 4.其他报错

aaaccc444的博客 2424

CLion与STM32CubeMX联调:JLink GDB Server高效调试指南

本文详细介绍了如何搭建并配置CLion、STM32CubeMX与JLink GDB Server联调的现代化STM32开发环境。通过一站式环境搭建、工程创建、核心调试配置及高级技巧(如RTT日志),该组合实现了高效的代码编辑、可视化配置与稳定调试,大幅提升嵌入式开发效率与体验。

web99的专栏 258

【力扣面试】面试题 05.03. 翻转数位

【力扣面试】面试题 05.03. 翻转数位 文章目录题目解题思路代码 题目 给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。 示例 1: 输入: num = 1775(11011101111) 输出: 8 示例 2: 输入: num = 7(0111) 输出: 4 解题思路 思路: 1、求连续1的数量,如遇到0,则下标指针++ 2、稍微思考一下,不难明白此时本题就转换为数组中最大的相邻元素之和。 3、最后要防一手 -1 的情况,因为-

MyHeaven7的博客 308

随机变量序列 收敛 检验 matlab,利用MATLAB验证样条插值的收敛性

问题提出多项式插值是不收敛的,即插值的节点多,效果不一定就好。对样条函数插值又如何呢?理论上证明样条插值的收敛性是比较困难的,但通过本实验可以验证这一理论结果。.实验内容请按一定的规则分别选择等距或者非等距的插值节点,并不断增加插值节点的个数。考虑实验2.1中的函数或选择其他你有兴趣的函数。(中函数)。实验要求(1)随节点个数增加,比较被逼近函数和样条插值函数误差的变化情况。分析所得结果并与拉格朗...

weixin_30895121的博客 4735

LeetCode《程序员面试金典》面试题 05.03. 翻转数位

LeetCode 面试题 05.03. 翻转数位题目解题解题一解题二 题目 解题 解题一 代码里注释 注意点1 的部分,循环结束条件是 i < 32,比如 2147483647 (0x7FFFFFFF) 得到的数组是 [0, 31, 1],要把前面的 0 也算进去,因为第 32 位可以由 0 变为 1,这样最长的 1 序列长度为32。注意点2,因为每次 searchingFor 变换才会将之前的序列长度加入数组,最后一次没有变换便跳出循环,要把最后的序列长度加进数组。 在 findLongest

252

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LeetCode 面试题 05.03. 翻转数位

你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。表示上次最多连续 1 的个数。遍历每一位,如果为 1,则。表示当前最多连续 1 的个数,设为 0,表示重新开始计 1。

zheliku的博客 283

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

力扣面试题 05.03. 翻转数位(前、后缀和)

力扣面试题 05.03. 翻转数位(前、后缀和)

LNsupermali的博客 646

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

面试题 05.03 翻转数位(java)

给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。 示例 1: 输入: num = 1775(110111011112) 输出: 8 示例 2: 输入: num = 7(01112) 输出: 4 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-bits-lcci...

weixin_43306331的博客 701

程序员面试金典 - 面试题 05.03. 翻转数位

题目难度: 简单 原题链接 今天继续更新程序员面试金典系列, 大家在公众号 算法精选 里回复 面试金典 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个 32 位整数 num,你可以将一个数位从 0 变为 1。请编写一个程序,找出你能够获得的最长的一串 1 的长度。 示例 1: 输入: num = 1775(11011101111) 输出: 8 示例 2: 输入: num = 7(0111) 输出: 4 题目思考 根据题目描述, 有没有什么简单直接的思路? 如何优.

随便发挥的博客 191

【程序员面试金典】面试题 05.03. 翻转数位

【程序员面试金典】面试题 05.03. 翻转数位

❀雾里看花花里看雾❀ 194

【力扣】面试题 05.03. 翻转数位

【力扣】面试题 05.03. 翻转数位

BlackPudding_的博客 289

[Leetcode 每日精选] 面试题 05.03. 翻转数位

题目难度: 简单 原题链接 前几天的题目难度有点大, 那今天我们就来做一道简单题吧 ???? 这道题比较简单, 但也有多种解法, 而且如果加上一些进阶限制条件, 比如单次遍历和 O(1)空间之类的, 也值得思考一下如何进行优化 题目描述 给定一个 32 位整数 num,你可以将一个数位从 0 变为 1。请编写一个程序,找出你能够获得的最长的一串 1 的长度。 题目样例 示例 1 输入 num = 1775(0b11011101111) 输出 8 解释 把最后面的那个 0 换成 1 就能得到连续 8

随便发挥的博客 335
上一篇: 面试题 05.02. 二进制数转字符串
下一篇: 面试题 05.04. 下一个数
子言慕雨
博客等级 码龄9年 15粉丝 140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值