Найдите размер наибольшего подмножества с побитовым И больше, чем их побитовое XOR
Учитывая массив arr[] из N целых чисел, задача состоит в том, чтобы найти размер наибольшего подмножества так, чтобы побитовое И всех элементов подмножества было больше, чем побитовое исключающее ИЛИ всех элементов подмножества.
Пример:
Input: arr[] = {1, 2, 3, 4, 5}
Output: 2
Explanation: The subset {2, 3} has the bitwise AND of all elements as 2 while the bitwise XOR of all elements os 1. Hence, bitwise AND > bitwise XOR. Therefore, the required size of the subset is 2 which is the maximum possible. Another example of a valid subset is {4, 5}.Input: arr[] = {24, 20, 18, 17, 16}
Output: 4
Подход: данная проблема может быть решена путем создания всех возможных подмножеств данного набора с использованием рекурсивного подхода и сохранения значения побитового И и побитового XOR для каждого подмножества. Требуемым ответом будет максимальный размер подмножества, чтобы оно было побитовым И > побитовым XOR.
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(2 N )
Вспомогательное пространство: O(1)