//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!");