华为OD机试真题 新系统 2026-05-20 PythonJS 实现【等距二进制判断】
目录
题目
思路
Code
题目
对于一个二进制数,我们定义相邻两个 1 之间的 0 的数量为它们两个之间的距离,如 1001011,相邻两个 1 之间的距离从左到右分别为 2、1、0。
现在如果一个整数转化为二进制数满足如下条件:
1. 包含不少于 3 个 1
2. 所有相邻数字 1 之间的距离都相同我们称之为等距二进制,如 21(二进制为:10101)、60(二进制为:111100)、146(二进制为:10010010)。
输入描述
现在给定一个输入,整数 0 <= n < (2^31 - 1)输出描述
如果 n 是等距二进制,请输出它的距离,如果不是等距二进制,请输出 -1样例1
输入
21输出
1说明
二进制为 10101,距离为 1样例2
输入
60输出
0说明
二进制为 111100,距离为 0样例3
输入
146输出
2说明
二进制为 10010010,距离为 2
思路
简答的逻辑模拟类题目。
先把整数转成二进制字符串,然后把所
