給定乙個正整數 n,找到並返回 n 的二進位制表示中兩個連續的 1 之間的最長距離。step1:把數字換算成二進位制放在向量中;如果沒有兩個連續的 1,返回 0 。
step2:把向量中等於一的數字的索引放入新的向量中;
step3:遍歷新的向量,求前後元素之差,取最大值即可
class
solution
div/=2;
i++;}
vector<
int>
::iterator it;
int sum=0;
for(it=s.
begin()
;it!=s.
end(
);it++
) cout
int i=
1;isize()
;i++
) vector<
int>
::iterator t;
for(t=vec.
begin()
;t!=vec.
end(
);t++
) cout
"sum:"
;
class
solution
last = i;}}
return ans;}}
;
Leetcode 868 二進位制間距
給定乙個正整數n,找到並返回n的二進位制表示中兩個連續的 1 之間的最長距離。如果沒有兩個連續的 1,返回0。示例 1 輸入 22輸出 2解釋 22 的二進位制是 0b10110 在 22 的二進位制表示中,有三個 1,組成兩對連續的 1 第一對連續的 1 中,兩個 1 之間的距離為 2 第二對連續...
LeetCode 868 二進位制間距
leetcode習題答案彙總 題目 給定乙個正整數 n,找到並返回 n 的二進位制表示中兩個相鄰 1 之間的最長距離。如果沒有兩個相鄰的 1,返回 0 示例 1 輸入 22 輸出 2 解釋 22 的二進位制是 0b10110 在 22 的二進位制表示中,有三個 1,組成兩對相鄰的 1 第一對相鄰的 ...
868 二進位制間距
給定乙個正整數 n,找到並返回 n 的二進位制表示中兩個 相鄰 1 之間的 最長距離 如果不存在兩個相鄰的 1,返回 0 如果只有 0 將兩個 1 分隔開 可能不存在 0 則認為這兩個 1 彼此 相鄰 兩個 1 之間的距離是它們的二進位制表示中位置的絕對差。例如,1001 中的兩個 1 的距離為 3...