給出兩個32位的整數n和m,以及兩個二進位制位的位置i和j。寫乙個方法來使得n中的第i到j位等於m(m會是n中從第i為開始到第j位的子串)
樣例 給出n = (10000000000)2,m = (10101)2, i = 2, j = 6
返回 n = (10001010100)2
分析:
如果是兩個二進位制的字串,結果就是遍歷陣列然後對應的位替換。因此將該題抽象為先得到二進位制的字串,替換之後,將二進位制的字串再次轉換為整數
遇到的問題
發現在移位操作有問題,例如flag<<1,在visualstdio和lintcode編譯環境中,都無法執行的樣子。因此採用flag = flag*2來代替
class
solution
flag = flag*2;
}flag = 1;
while(flag)
flag = flag*2;
}for(int k = i; k <= j; k++)
int result = 0;
intcount = 1;
for(int p = 0; p < str_n.length(); p++)
return result;
}};
更新二進位制位
問題描述 給出兩個32位的整數n和m,以及兩個二進位制位的位置i和j。寫乙個方法來使得n中的第i到j位等於m m會是n中從第i為開始到第j位的子串 日期 2017 8 22 思路 由於題目的提示中已經給出,i到j有足夠的空間放置m,將n中的第i到j之間的數字全部置為0,最後與m異或即可 includ...
Lintcode 二進位制求和
給定兩個二進位制字串,返回他們的和 用二進位制表示 樣例 1 輸入 a 0 b 0 輸出 0 樣例 2 輸入 a 11 b 1 輸出 100 python class solution param a a number param b a number return the result def a...
LintCode 容易)二進位制求和
class solution 計算多出的部位 for w 1 w if answer 0 0 0 return answer vc版見project 二進位制求和。總結 1.string裡面的是字元,輸出的時候可以正確輸出數值,但是當利用其中字元型數字計算時,用到的將是它的ascii碼,要想得到st...