給定乙個正整數 n,找到並返回 n 的二進位制表示中兩個 相鄰 1 之間的 最長距離 。如果不存在兩個相鄰的 1,返回 0 。
如果只有 0 將兩個 1 分隔開(可能不存在 0 ),則認為這兩個 1 彼此 相鄰 。兩個 1之間的距離是它們的二進位制表示中位置的絕對差。例如,「1001」 中的兩個 1 的距離為 3 。
示例 1:
輸入:n =
22輸出:2
解釋:22 的二進位制是 "10110" 。
在 22 的二進位制表示中,有三個 1,組成兩對相鄰的 1 。
第一對相鄰的 1 中,兩個 1 之間的距離為 2 。
第二對相鄰的 1 中,兩個 1 之間的距離為 1 。
答案取兩個距離之中最大的,也就是 2 。
示例 2:
輸入:n =
5輸出:2
解釋:5 的二進位制是 "101" 。
示例 3:
輸入:n =
6輸出:1
解釋:6 的二進位制是 "110" 。
示例 4:
輸入:n =
8輸出:0
解釋:8 的二進位制是 "1000" 。
在 8 的二進位制表示中沒有相鄰的兩個 1,所以返回 0 。
示例 5:
輸入:n =
1輸出:0
class
solution
}
868 二進位制間距
題目描述 給定乙個正整數 n,找到並返回 n 的二進位制表示中兩個相鄰 1 之間的最長距離。如果沒有兩個相鄰的 1,返回 0 示例 1 輸入 22 輸出 2 解釋 22 的二進位制是 0b10110 在 22 的二進位制表示中,有三個 1,組成兩對相鄰的 1 第一對相鄰的 1 中,兩個 1 之間的距...
868 二進位制間距
給定乙個正整數 n,找到並返回 n 的二進位制表示中兩個連續的 1 之間的最長距離。如果沒有兩個連續的 1,返回 0 示例 1 輸入 22 輸出 2 解釋 22 的二進位制是 0b10110 在 22 的二進位制表示中,有三個 1,組成兩對連續的 1 第一對連續的 1 中,兩個 1 之間的距離為 2...
868 二進位制間距 python
給定乙個正整數 n,找到並返回 n 的二進位制表示中兩個連續的 1 之間的最長距離。如果沒有兩個連續的 1,返回 0 示例 1 輸入 22 輸出 2 解釋 22 的二進位制是 0b10110 在 22 的二進位制表示中,有三個 1,組成兩對連續的 1 第一對連續的 1 中,兩個 1 之間的距離為 2...