LeetCode 868 二進位制間距

2021-08-30 10:48:25 字數 774 閱讀 9092

給定乙個正整數 n,找到並返回 n 的二進位制表示中兩個連續的 1 之間的最長距離。

如果沒有兩個連續的 1,返回 0 。

step1:把數字換算成二進位制放在向量中;

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...