Quick actions

cmd+k|ctrl+k

Navigation

Languages

first recurring character

Snippet info

Language

JavaScript

Visibility

public

Author

bneuhausz

Created

2025-02-09T13:49:37.382246Z

Updated

2025-02-09T13:58:43.783252Z

function firstRecurringCharacter(input) {
    for (let i = 0; i < input.length; i++) {
        for (let j = i + 1; j < input.length; j++) {
            if (input[i] === input[j]) {
                return input[i];
            }
        }
    }
    return undefined;
} //time complexity O(n^2), space complexity O(1)

console.log(firstRecurringCharacter([2, 5, 1, 2, 3, 5, 1, 2, 4]));
console.log(firstRecurringCharacter([1, 5, 1, 2, 3, 5, 1, 2, 4]));
console.log(firstRecurringCharacter([1]));
console.log(firstRecurringCharacter([]));
console.log(firstRecurringCharacter([1, 1]));
console.log(firstRecurringCharacter([1, 2]));

function firstRecurringCharacter2(input) {
    let map = {};
    for (let i = 0; i < input.length; i++) {
        if(map[input[i]] !== undefined) {
            return input[i];
        }
        else {
            map[input[i]] = i;
        }
    }
    return undefined;
} //time complexity O(n), space complexity O(n)

console.log(firstRecurringCharacter2([2, 5, 1, 2, 3, 5, 1, 2, 4]));
console.log(firstRecurringCharacter2([1, 5, 1, 2, 3, 5, 1, 2, 4]));
console.log(firstRecurringCharacter2([1]));
console.log(firstRecurringCharacter2([]));
console.log(firstRecurringCharacter2([1, 1]));
console.log(firstRecurringCharacter2([1, 2]));
INFO