LintCode 更新二進位制位

2021-07-03 19:10:49 字數 645 閱讀 8472

給出兩個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...