leetcode868】的更多相关文章

Given a positive integer N, find and return the longest distance between two consecutive 1's in the binary representation of N. If there aren't two consecutive 1's, return 0. Example 1: Input: 22 Output: 2 Explanation: 22 in binary is 0b10110. In the…
class Solution { public: int binaryGap(int N) { ; vector<int> V; while (N) { )//N&1==1,表示最后一位是1 { V.push_back(position);//把二进制为1的下标都记录下来 } position++; N >>= ;//右移一位 } ) { ; } //1 2 4 ; ; ; i < V.size(); i++) { cout << V[i] <<…
给定一个正整数 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: 输…