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]));