元宝    LeetCode 600. Non-negative Integers without Consecutive Ones Java Implement
LeetCode 600 · Non-negative Integers without Consecutive Ones — Java SolutionIntuitionCount integers in“[0, num]” whose binary representation contains no two adjacent1s (“11” is forbidden).A clean digit-DP approach: scan“num” bit-by-bit from MSB → LSB. Whenever the current bit of“num” is“1”, we can force this bit to“0” and freely fill the remaining lower“i” bits with any valid pattern — then continue matching“num” with this bit kept as“1”.The count of length-“k” binary strings (leading zeros allowed) without consecutive ones follows the Fibonacci recurrence.Precomputation: Fibonacci ArrayLet“fib[k]” number of valid bit-strings of exactly“k” remaining positions.k valid strings fib[k]0“”“” 11“0”,“1” 22“00”,“01”,“10” 3Recurrence:“fib[k] fib[k-1] fib[k-2]”Java Implementation (Digit DP, O(log num) time)class Solution {public int findIntegers(int num) {// fib[k]: # valid binary strings of length k (leading zeros OK)// fib[0] 1, fib[1] 2int[] fib new int[32];fib[0] 1;fib[1] 2;for (int i 2; i 32; i) {fib[i] fib[i - 1] fib[i - 2];}int ans 0; int prevBit 0; // tracks whether the previous scanned bit was 1 // scan from bit 30 down to 0 (bit 31 is the sign bit) for (int i 30; i 0; i--) { int cur (num i) 1; if (cur 1) { // choose this bit 0 instead, lower i bits are free → add fib[i] ans fib[i]; // if previous bit was also 1, num itself is invalid; stop early if (prevBit 1) { return ans; } prevBit 1; } else { prevBit 0; } } // num itself has no consecutive 1s → count it too return ans 1; }}Walkthrough (“num 5” → binary“101”)i bit action ans2“1” add“fib[2]3” (strings“0xx”: 0,1,2) 31“0” nothing,“prevBit0” 30“1” add“fib[0]1” (“100” 4) 4done —“101” is valid,“1” 5Valid set:“{0, 1, 2, 4, 5}” ✅ComplexityTime“O(log num)” — single pass over 31 bitsSpace“O(1)” — fixed-size“fib[32]” arrayCommon Pitfalls❌ Using“Integer.bitCount” / brute force → TLE for“num” up to“2·10⁹”❌ Off-by-one on the“fib” index —“fib[i]” corresponds to“i” remaining lower bits, not“i1”❌ Forgetting the final“1” when“num” itself is a valid number❌ Not returning early when“prevBit 1” — once“num” contains“11”, the tight path diesOne-liner Comparison with Related ProblemsProblem TechniqueLC 600 (this) Digit DP FibonacciLC 233 · Number of Digit One Digit DPLC 790 · Domino and Tromino Same Fibonacci recurrence“dp[i]dp[i-1]dp[i-2]”Want me to also provide the memoized recursive digit-DP version, or a Kotlin / Python translation for side-by-side review?

相关新闻

如何启用InternVL3_5-1B-Instruct思考模式:R1提示词与采样参数最佳实践

如何启用InternVL3_5-1B-Instruct思考模式:R1提示词与采样参数最佳实践

【免费下载链接】InternVL3_5-1B-Instruct 项目地址: https://ai.gitcode.com/OpenGVLab/InternVL3_5-1B-Instruct 点击查看 免费下载 InternVL3_5-1B-Instruct 是 InternVL3.5 系列中最小的多模态思考模型(1.1B 参数),只需一段 …

2026/10/20 7:26:42 阅读更多 →
大唐杯题库:通信专业学生的5G实战能力训练系统

大唐杯题库:通信专业学生的5G实战能力训练系统

简介:本资源是面向大唐杯全国大学生移动通信5G技术大赛参赛者、通信专业学生及5G从业者的系统化题库总结资料,聚焦5G核心技术考点梳理与实战备考需求。压缩包共22个文件,以14个Excel(含历年真题、知识点分类题库、模拟练习题&…

2026/10/19 6:44:54 阅读更多 →
博微深思系统钩子注入实战:电力造价校验柔性修复指南

博微深思系统钩子注入实战:电力造价校验柔性修复指南

简介:本资源是面向电力工程造价从业人员及博微软件深度使用者的专业工具包,聚焦于‘深思4写’版本的数据写入与锁控功能实现,解决多用户协同场景下工程数据编辑冲突、预算实时更新与成本精准管控等核心问题。压缩包共5个文件,含3个…

2026/10/20 10:02:40 阅读更多 →

最新新闻

(Linux与计算机网络)IO模型

(Linux与计算机网络)IO模型

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:49:41 阅读更多 →
提示词生成代码的15个质量底线:从语义偏移到代码审查实战

提示词生成代码的15个质量底线:从语义偏移到代码审查实战

我先说一个真实感受:用提示词生成代码,最大的风险不是“生成的代码跑不通”,而是“跑通了,但你觉得它没问题”。我见过很多次这样的场景——开发者把需求丢给大模型,拿到一段看似完整、甚至带注释的函数,直…

2026/10/20 10:49:41 阅读更多 →
TCP三次握手背后的设计逻辑:从网络八股文到排查工具箱

TCP三次握手背后的设计逻辑:从网络八股文到排查工具箱

聊个我自己的面试糗事。某次面后端岗,面试官问TCP三次握手,我嘴巴比脑子快,SYN、SYNACK、ACK三件套背得行云流水。对方听完点了点头,接着问:“第二次握手丢了,客户端和服务端分别会怎么反应?”我…

2026/10/20 10:49:41 阅读更多 →
百万QPS秒杀系统设计:令牌桶、Redis分片、分布式锁与配置中心

百万QPS秒杀系统设计:令牌桶、Redis分片、分布式锁与配置中心

废话不多说,直接进入正题。先说下背景。我接手这套秒杀系统时,运营给的需求一句话就讲完了:“20 万商品全部参加活动,100 万人预约,开抢那一下全给我接住。”但这句话背后是整个后端团队三个月的改造。标题里提到的令牌…

2026/10/20 10:49:41 阅读更多 →
MATLAB熵值计算全攻略:从香农熵到样本熵的工程实践

MATLAB熵值计算全攻略:从香农熵到样本熵的工程实践

搞数据分析的朋友,应该都遇到过这种情况:手里拿到一批复杂的观测数据,想衡量它的"混乱程度"或者"有序性",但用均值、方差这些经典指标又觉得差点意思。我个人的经验是,这种时候直接上信息熵&#…

2026/10/20 10:49:41 阅读更多 →
杉岑开局桌游社区:过去获荐不应提前排除新作品

杉岑开局桌游社区:过去获荐不应提前排除新作品

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:48:40 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →