Сложность: easy
Дополнение целого числа - это целое число, которое получается, если перевернуть все 0 в 1 и все 1 в 0 в его двоичном представлении. Например, целое число 5 - это "101" в двоичном представлении, а его дополнение - "010", то есть целое число 2. Если задано целое число n, верните его дополнение.
Пример:
Input: n = 5
Output: 2
👨💻 Алгоритм:
1⃣Определение длины двоичного представления:
Найдите длину двоичного представления числа n.
2⃣Создание маски:
Создайте маску, которая состоит из всех единиц и имеет ту же длину, что и двоичное представление числа n.
3⃣Вычисление дополнения:
Примените побитовую операцию XOR между числом n и маской, чтобы получить дополнение числа.
😎 Решение:
public class Solution {
public int findComplement(int num) {
int length = Integer.toBinaryString(num).length();
int mask = (1 << length) - 1;
return num ^ mask;
}
}Ставь 👍 и забирай 📚 Базу знаний