Найдите перестановку длины N, содержащую подмассивы с суммой меньше, чем побитовое исключающее ИЛИ
Опубликовано: 22 Сентября, 2022
Учитывая положительное целое число N , задача состоит в том, чтобы найти перестановку длины N , имеющую побитовое ИЛИ любого из ее подмассивов, большую или равную длине подмассива.
Примеры:
Input: N = 5
Output: 1 3 5 2 4
Explanation:
Consider the subarray {1, 3, 5} from the permutation {1, 3, 5, 2, $}.
Length of the subarray = 3
Bitwise OR of the subarray = 1 | 3 | 5 = 7 ( which is greater than 3)
Similarly, every subarray of any length smaller than equal to N will satisfy the condition.Input: 4
Output: 4 3 1 2
Подход: На самом деле любая перестановка длины N удовлетворяет требуемым условиям, основанным на следующих фактах:
- Побитовое ИЛИ любого набора чисел больше или равно максимальному числу, присутствующему в этом наборе.
- Поскольку любой подмассив будет содержать хотя бы один элемент, больший или равный его длине, любая перестановка удовлетворяет заданному условию.
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(N)
Вспомогательное пространство: O(1)