first recurring character

Run Settings
LanguageJavaScript
Language Version
Run Command
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]));
Editor Settings
Theme
Key bindings
Full width
Lines