firstRecurringCharacter

Run Settings
LanguageJavaScript
Language Version
Run Command
//Given an array = [2,1,1,2,3,5,1,2,4]: //It should return 1 //Given an array = [2,3,4,5]: //It should return undefined function firstRecurringCharacter(input) { let reccuringIndex = input.length; console.log(`reccuringIndex is ${reccuringIndex}`); //[2,1,3, 3,1,2,3,5,1,2,4] for( let i = 0; i < reccuringIndex; i++) { console.log(`i is ${i}`); for (let j = i + 1; j < reccuringIndex; j++) { if (input[i] === input[j]){ reccuringIndex = j; console.log(`j is ${j}`); console.log(`reccuringIndex is ${reccuringIndex}`); } } } if (reccuringIndex < input.length){ console.log('here') return input[reccuringIndex] } else { return undefined; } } function firstRecurringCharacter2(input) { let map = {}; for (let i = 0; i < input.length; i++) { //console.log('for loop'); //console.log(map[input[i]]); if (map[input[i]] !== undefined) { //console.log(map[input[i]]); return input[i] } else { map[input[i]] = i; //console.log(`else loop${map[input[i]]}`); } } return undefined } console.log(firstRecurringCharacter([2,1,3, 3,1,2,3,5,1,2,4])) //console.log(firstRecurringCharacter2( [2,1,3, 3, 1,2,3,5,1,2,4])) //Bonus... What if we had this: // [2,5,5,2,3,5,1,2,4] // return 5 because the pairs are before 2,2console.log("Hello World!");
Editor Settings
Theme
Key bindings
Full width
Lines