「 每日一练,快乐水题 」693. 交替位二进制数
生活随笔
收集整理的這篇文章主要介紹了
「 每日一练,快乐水题 」693. 交替位二进制数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 🔴力扣原題:
- 🟠題目簡(jiǎn)述:
- 🟡解題思路:
- 🟢C++代碼:
- 🔵結(jié)果展示:
🔴力扣原題:
力扣鏈接:693. 交替位二進(jìn)制數(shù)
🟠題目簡(jiǎn)述:
給定一個(gè)正整數(shù),檢查它的二進(jìn)制表示是否總是 0、1 交替出現(xiàn):換句話說(shuō),就是二進(jìn)制表示中相鄰兩位的數(shù)字永不相同。
🟡解題思路:
1.模擬大法;
2.算出n的二進(jìn)制表示;
3.判斷奇數(shù)位與偶數(shù)位是否一致;
4.0、1位需要不一致;
5.處理只有1位二進(jìn)制的情況;
6.over;
🟢C++代碼:
class Solution { public:bool hasAlternatingBits(int n) {bool bRet = true;vector<int> binaryVec;while(n > 0){binaryVec.push_back(n%2);n /= 2;}int num = binaryVec.size();// for(auto i : binaryVec)// {// cout << i << endl;// }if(num >=2){if((binaryVec[0]==binaryVec[1])){return false;}for(int i = 0; 2*i< num; i++){ //cout << i << endl;if((binaryVec[0] != binaryVec[2*i])){bRet = false;break;}}for(int i = 0; (2*i+1)< num; i++){ //cout << i << endl;if(binaryVec[1] != binaryVec[2*i +1]){bRet = false;break;}}}return bRet;} };🔵結(jié)果展示:
總結(jié)
以上是生活随笔為你收集整理的「 每日一练,快乐水题 」693. 交替位二进制数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 在互联网公司工作是种怎样的体验?
- 下一篇: 「 每日一练,快乐水题 」744. 寻找