How to find an element that appears once in an array of elements that appears three times in C

1 Answer

0 votes
#include <stdio.h>

int findElementThatAppearsOnceInArray(int vec[], int size) {
    int map[1024] = {0}; 

    for (int i = 0; i < size; ++i) {
        map[vec[i]]++;
    }

    for (int i = 0; i < 1000; ++i) {
        if (map[i] == 1) {
            return i;
        }
    }

    return -1;
}

int main() {
    int vec[] = {3, 5, 5, 2, 7, 3, 2, 8, 8, 3, 2, 5, 8};
    int size = sizeof(vec) / sizeof(vec[0]);

    printf("%d\n", findElementThatAppearsOnceInArray(vec, size));

    return 0;
}



/*
run:

7

*/

 



answered Jul 8, 2024 by avibootz
...