Поиск уникального элемента в массиве с использованием C: методы и примеры

Чтобы найти уникальный элемент в массиве в C, вы можете использовать несколько методов. Вот несколько подходов:

  1. Использование вложенного цикла: переберите каждый элемент массива и сравните его со всеми остальными элементами. Если соответствующий элемент не найден, он уникален.

    int findUnique(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        int j;
        for (j = 0; j < size; j++) {
            if (i != j && arr[i] == arr[j])
                break;
        }
        if (j == size) {
            return arr[i];
        }
    }
    return -1; // If no unique element is found
    }
  2. Использование хеш-таблицы: создайте хеш-таблицу (или массив флагов), чтобы отслеживать количество каждого элемента. Перейдите по массиву, увеличивая счетчик для каждого элемента. Наконец, найдите элемент со счетом 1.

    #include <stdio.h>
    #define RANGE 1000 // Assuming element values are within a specific range
    int findUnique(int arr[], int size) {
    int hash[RANGE] = {0}; // Initialize hash table with zeros
    for (int i = 0; i < size; i++) {
        hash[arr[i]]++;
    }
    for (int i = 0; i < RANGE; i++) {
        if (hash[i] == 1) {
            return i;
        }
    }
    return -1; // If no unique element is found
    }
  3. Использование операции XOR: XOR всех элементов массива даст вам уникальный элемент.

    int findUnique(int arr[], int size) {
    int result = 0;
    for (int i = 0; i < size; i++) {
        result ^= arr[i];
    }
    return result;
    }

Это всего лишь несколько способов найти уникальный элемент в массиве с помощью C. Вы можете выбрать тот, который лучше всего соответствует вашим требованиям.