题目链接
- 输入的数据为十进制,先将其转为二进制倒序数组(倒序还是正序都不影响)
- 再找数组中相邻1最大的距离
class Solution { public: int number[30]; int length = 0; void change(int num){ while (num / 2) { number[length] = num % 2; length++; num = num / 2; } number[length] = num; length++; } int binaryGap(int n) { change(n); int d=0; for(int i=length-1;i>=0;i--){ if(number[i]==1){ int j=i-1; for(;j>=0;j--){ if(number[j]==1){ if((i-j)>d){ d=i-j; } break; } } i=j+1; } } return d; } }; ···
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)