移位运算符的使用

mac2022-06-30  92

 

给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。 

如果没有两个连续的 1,返回 0 。

class Solution{ public: int binaryGap(int n) { int ans = 0; vector<int> a; a.clear(); for(int i = 0; i <= 30; i++) { if((1<<i) & N != 0 ) a.push_back(i); } for(int j = 0; j < a.size()-1; j++) { if(a[j+1] - a[j] > ans) ans = a[i+1] - a[j]; } return ans; } };

 

转载于:https://www.cnblogs.com/Shinered/p/9317121.html

相关资源:数据结构—成绩单生成器
最新回复(0)