記事ディレクトリ
1. タイトル
ペア交換。できるだけ少ない命令を使用して、整数の奇数ビットと偶数ビットを交換するプログラムを作成します (つまり、ビット 0 とビット 1、ビット 2 とビット 3 などを交換します)。
例 1:
入力: num = 2 (または 0b10)
出力: 1 (または 0b01)
例 2:
入力:数値 = 3
出力: 3
ヒント:
num
範囲は[0, 2^30 - 1]
の間であり、整数のオーバーフローは発生しません。
2. Java の問題解決
比較的簡単で、コードを直接記述するだけです。
class Solution {
public int exchangeBits(int num) {
int ans = 0, even, odd;
for (int i = 0; i < 32; i += 2) {
even = 1 << i;
odd = 1 << (i + 1);
if ((num & even) != 0) ans |= odd;
if ((num & odd) != 0) ans |= even;
}
return ans;
}
}
- 時間: 0 ミリ秒、Java を使用しているユーザーの 100.00% を上回ります
- メモリ: 36.79 MB、Java を使用しているユーザーの 96.88% を上回ります