6月23 leetcode 二進位制求和

2021-10-07 10:45:21 字數 1609 閱讀 2996

67. 二進位制求和

難度簡單404收藏分享切換為英文關注反饋

給你兩個二進位制字串,返回它們的和(用二進位制表示)。

輸入為非空字串且只包含數字10

示例 1:輸入:a = "11", b = "1"輸出:"100"

示例 2:輸入:a = "1010", b = "1011"輸出:"10101"

思路一:(暴力法)

將二進位制轉換成10進製,然後再將10進製轉換成2進製 

但是這個程式有個bug,要是二進位制長度特別大,int的範圍會溢位。

class solution 

reverse(res.begin(),res.end());// 除2 取餘 倒置

return res;

}int bi_to_int(string a) //將2進製轉換成10進製

}return num;

}};

class solution 

while(lenb < lena)

int flag = 0;

for(int i= lena-1;i>=0;i--)

else if(a[i]-'0'+b[i]-'0'+flag ==1)

else if(a[i]-'0'+b[i]-'0'+flag ==2)

else if(a[i]-'0'+b[i]-'0'+flag ==3)

}if(flag ==1)

return res;

}};

866. 回文素數

難度中等47

求出大於或等於n的最小回文素數。

回顧一下,如果乙個數大於 1,且其因數只有 1 和它自身,那麼這個數是素數。

例如,2,3,5,7,11 以及 13 是素數。

回顧一下,如果乙個數從左往右讀與從右往左讀是一樣的,那麼這個數是回文數。

例如,12321 是回文數。

示例 1:

輸入:6輸出:7
示例 2:

輸入:8輸出:11
示例 3:

輸入:13輸出:101

class solution

return 0;

}bool ispalindrome(int n)//看這個整數是否是回文數

bool isprime(int n) //這個數是否是素數

{for(int i=2;iint_max / 10) return 0; //判斷是否將要發生越界

if(result但是這種解法有個問題,當數字特別大的時候容易超時,leetcode上通不過。後續待改進。。。。

二進位制 leetcode

5 toc 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。class solution return result 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。思路 某一位上1出現的次...

6 二進位制求和

給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 解題思路 二進位制求和,滿二進一 include include using namespace ...

LeetCode 二進位制手錶

二進位制手錶頂部有 4 個 led 代表小時 0 11 底部的 6 個 led 代表分鐘 0 59 每個 led 代表乙個 0 或 1,最低位在右側。例如,上面的二進位制手錶讀取 3 25 給定乙個非負整數 n 代表當前 led 亮著的數量,返回所有可能的時間。案例 輸入 n 1 返回 1 00 2...