600. 不含连续1的非负整数
600. 不含连续1的非负整数
给定一个正整数 n,找出小于或等于 n 的非负整数中,其二进制表示不包含 连续的1 的个数。
示例 1:输入: 5
输出: 5
解释:
下面是带有相应二进制表示的非负整数<= 5:
0 : 0
1 : 1
2 : 10
3 : 11
4 : 100
5 : 101
其中,只有整数3违反规则(有两个连续的1),其他5个满足规则。
解题思路
- dp[i]代表当第i位为0时,不含连续1的个数。
- 从高位开始遍历n的每个二进制位,当n的第i位为1的时候,那么就会产生两种情况。就是当该位为0和当该位为1的情况,当该位为0,我们可以直接使用dp[i]得出该位为0时,可以产生多少个不含连续1的二进制数。如果该位为1,我们需要检查上一位是否为1,如果上一位为0,说明该位可以取1,继续以同样的方法向下遍历,否则就无法进行向下遍历。
代码
class Solution {public int findIntegers(int n) {int[] dp=new int[31];dp[0]=1;dp[1]=1;for(int i=2;i<31;i++)dp[i]=dp[i-1]+dp[i-2];int pre=0,res=0;for(int i=29;i>=0;i--){int cur=(1<<i);if((n&cur)!=0){res+=dp[i+1];if(pre==1)break;pre=1;}else pre=0;if(i==0)res++;}return res;}
}
600. 不含连续1的非负整数相关推荐
- 递归解决不含连续的1的位串个数的问题
在离散数学的书上看到一个问题.如下. "How many bit strings of length four do not have two consecutive 1s?" 即 ...
- android中的照相机机拍照程序(含连续拍照)
最近用到了android中的照相机功能,android中实现拍照的方式有两种,一种是调用系统自带的照相机进行拍照,此种方法较为简单,因为是android本身就已经实现了的:另一种就是自己来实现一个拍照 ...
- C#LeetCode刷题-动态规划
动态规划篇 # 题名 刷题 通过率 难度 5 最长回文子串 22.4% 中等 10 正则表达式匹配 18.8% 困难 32 最长有效括号 23.3% 困难 44 通配符匹配 17.7% 困难 53 最 ...
- LeetCode-数据结构
文章目录 应做未做 未弄懂 经典题+易错题 一.长见识的方法 二.杂七杂八积累 三.面试常考题目索引 java刷题常用 树 数组 摩尔投票算法 堆 数据流的中位数 排序 四.基础知识总结 4.x 数组 ...
- 如何学好C语言--你的学渣朋友告诉你
光说不练假把式,光练不说傻把式,又练又说真把式. 真实感受,不是我不想学,是我真的不知道我哪里不会啊和得怎么做啊?本文作者当初就是这么废掉的 推荐两个练习的网站 (一)C语言网 https://www ...
- leetcode算法练习 JavaScript实现
leetcode 表格内容由spider.js从leetcode-cn.com爬取. 已做题目答案也从leetcode-cn.com中爬取并生成文件. 解题进度:已解决 140/637 - 简单 94 ...
- 365天挑战LeetCode1000题——Day 117 数位DP II
数位DP模板 # i: 第i位到最后一位的dp状态-- # mask: 可选择的数字-- # isLimit: 是否限制该位大小,如果没有,那么可以选择0-9,否则需要计算上界s[0] - 'i' # ...
- LeetCode中的那些题
目录 1. 两数之和 2. 两数相加 3. 无重复字符的最长子串 *******4.寻找两个有序数组的中位数(官方解答) : 5.最长回文子串(官方解答) 15. 三数之和 16. 最接近的三数之和 ...
- leetcode 转载
转载: https://blog.csdn.net/love905661433/article/details/84980135 LeetCode 1- 100 1. 两数之和 : https://b ...
最新文章
- Cocoa pods的安装
- 线性筛法 与 线性求欧拉函数 的计算模板
- 关于盘符里某些文件夹删除不了的解决方案研究
- 挑战程序设计竞赛部分题目选择排序、二分查找找出下标、深度优先算法、求三角形max周长、蚂蚁算法、操作excel
- 先装vs还是先装sql_锅炉给水泵的止回阀到底安装在出口阀前还是阀后?
- Linux C DNS 查询IP地址
- jQuery-事件和应用
- 弹性伸缩Auto Scaling产品全面升级,轻松应对业务负载变化,张弛有度,收放自如!...
- opencv-api convexHull
- Nodejs Web模块( readFile 根据请求跳转到响应html )
- VS快速定位文件、代码插件——DPack
- android手机鼠标,安卓手机变鼠标以及手机控制电脑图文教程
- Ku高通量卫星“星地一体化”应急通信系统解决方案
- 企业申请CMMI3-CMMI5必经的六个阶段
- java.util.LinkedHashMap cannot be cast to
- Unity HDRP卡通角色自然渲染shader
- FFmpeg基础:视频流转图片
- 用python批量爬qq号_简单教程 8位QQ靓号爬取并过滤 – Python版
- azkaban跑项目的时候,一直running,
- 基于Azure Percept 避障乐高汽车