LeetCode(868)——二进制间距(JavaScript)
给定一个正整数 N
,找到并返回 N
的二进制表示中两个连续的 1 之间的最长距离。
如果没有两个连续的 1,返回 0
。
示例1:
输入:22
输出:2
解释:
22 的二进制是 0b10110 。
在 22 的二进制表示中,有三个 1,组成两对连续的 1 。
第一对连续的 1 中,两个 1 之间的距离为 2 。
第二对连续的 1 中,两个 1 之间的距离为 1 。
答案取两个距离之中最大的,也就是 2 。
示例2:
输入:5
输出:2
解释:
5 的二进制是 0b101 。
示例3:
输入:6
输出:1
解释:
6 的二进制是 0b110 。
示例4:
输入:8
输出:0
解释:
8 的二进制是 0b1000 。
在 8 的二进制表示中没有连续的 1,所以返回 0 。
提示:
1 <= N <= 10^9
/*** @param {number} N* @return {number}*/
var binaryGap = function(N) {};
个人解法
var binaryGap = function(N) {//取余法 4 -> [0,0,1]var arr = [];while(N !== 0){arr.push(N % 2);N = Math.floor(N / 2);}//如果arr有两个1if(arr.indexOf(1 , arr.indexOf(1) + 1) > -1){//max代表最大的距离var max = arr.indexOf(1 , arr.indexOf(1) + 1) - arr.indexOf(1);//去掉arr第一个1arr.splice(arr.indexOf(1) , 1);//如果还有两个1,则判断距离有没有比max大,比max大的话就把这个值赋值给max,然后再把第一个1去掉继续判断while(arr.indexOf(1 , arr.indexOf(1) + 1) > -1){if(arr.indexOf(1 , arr.indexOf(1) + 1) - arr.indexOf(1) > max){max = arr.indexOf(1 , arr.indexOf(1) + 1) - arr.indexOf(1)}arr.splice(arr.indexOf(1) , 1);}return max;}else{//没有两个1就返回0return 0;}
};
LeetCode(868)——二进制间距(JavaScript)相关推荐
- leetcode 868. 二进制间距
[题目]868. 二进制间距 给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离. 如果没有两个连续的 1,返回 0 . 示例 1: 输入:22 输出:2 解释: 22 ...
- LeetCode——868. 二进制间距
868. 二进制间距 题目描述 答案 我的代码 官方答案 位运算 题目描述 给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 .如果不存在两个相邻的 1,返回 0 . ...
- LeetCode 868. 二进制间距(位运算)
1. 解题 给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离. 如果没有两个连续的 1,返回 0 . 输入:22 输出:2 解释: 22 的二进制是 0b10110 . ...
- 力扣868. 二进制间距
题目描述 给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 .如果不存在两个相邻的 1,返回 0 . 如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两 ...
- LeetCode:二进制手表【401】
LeetCode:二进制手表[401] 题目描述 二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59). 每个 LED 代表一个 0 或 1,最低位在右 ...
- LeetCode:二进制求和【67】
LeetCode:二进制求和[67] 题目描述 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11" ...
- LeetCode: 868. Binary Gap
LeetCode: 868. Binary Gap 题目描述 Given a positive integer N, find and return the longest distance betw ...
- LeetCode: 868. Transpose Matrix
LeetCode: 868. Transpose Matrix 题目描述 Given a matrix A, return the transpose of A. The transpose of a ...
- leetcode算法练习 JavaScript实现
leetcode 表格内容由spider.js从leetcode-cn.com爬取. 已做题目答案也从leetcode-cn.com中爬取并生成文件. 解题进度:已解决 140/637 - 简单 94 ...
最新文章
- Java零基础学习难吗
- 一个基于J2EE的web应用程序运行起来需要什么?
- 我的世界java版幻翼_我的世界:熬夜3天能见到“幻翼”?你错了,还要满足这7个条件!...
- python【蓝桥杯vip练习题库】ADV-92求最大公约数(递归)
- java中对集合排序,Java如何对集合中的项目排序?
- Python入门100题 | 第002题
- 大数据 智能交通调度_大数据技术在智能交通中的应用
- sap.ca.ui.utils.busydialog - scenario1 - opportunity opened
- 关系数据库——并发控制
- ZooKeeper入门指南
- 《python透明人士,他是凭什么成为主流编程的宠儿?!》python基础语法
- visio中公式太小_串并联管道中调节阀的工作流量特性分析
- df python 增加数据_美国确诊超100万!教你用Python画出全球疫情动态图(附数据下载)...
- java抽象类及其派生类_java抽象类
- 双点双向路由引入/路由重发布
- JavaWeb实现的超市收银、基于SSM+mysql的 vue便利店收银管理系统实现【文档】【代码过程】
- 串口转WIFI模块通信
- 如何免费将一个PDF拆分成多个文件?
- oracle数据库 同义词读写操作,Oracle数据库之同义词(SYNONYM)使用
- linux启用dcb步骤,Linux内核DCB子系统