67. 二進位制求和
難度簡單404收藏分享切換為英文關注反饋
給你兩個二進位制字串,返回它們的和(用二進位制表示)。
輸入為非空字串且只包含數字1
和0
。
示例 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...