/
NikolayIvkin
/
TheAlgorithms
Обзор
Документация
Войти
/
NikolayIvkin
/
TheAlgorithms
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/com/thealgorithms/bitmanipulation/SingleElement.java
39 строк
1 KB
Tuhinm2002
feat : new bit manipulation algo `Single element in an array` (#5689)
10 окт 2024, 10:32
Не верифицирован
10 окт 2024, 10:32
d4fff30
Код
Авторство
О чём код?
package com.thealgorithms.bitmanipulation; /** * Utility class to find the single non-duplicate element from an array * where all other elements appear twice. * <p> * The algorithm runs in O(n) time complexity and O(1) space complexity * using bitwise XOR. * </p> * * @author <a href="http://github.com/tuhinm2002">Tuhin M</a> */ public final class SingleElement { /** * Private constructor to prevent instantiation of this utility class. * Throws an UnsupportedOperationException if attempted. */ private SingleElement() { throw new UnsupportedOperationException("Utility Class"); } /** * Finds the single non-duplicate element in an array where every other * element appears exactly twice. Uses bitwise XOR to achieve O(n) time * complexity and O(1) space complexity. * * @param arr the input array containing integers where every element * except one appears exactly twice * @return the single non-duplicate element */ public static int findSingleElement(int[] arr) { int ele = 0; for (int i = 0; i < arr.length; i++) { ele ^= arr[i]; } return ele; } }