HashTable Question

Run Settings
LanguageJavaScript
Language Version
Run Command
//Google Question //GIVEN an array = [2,5,1,2,3,5,1,2,4]; //IT should return 2; //Given an array = [2,1,1,2,3,5,1,2,4]; //It should return 1; //Given an array = [2,3,5,1,4]; //It should return undenfined; /* function findFirstRepeatedNumber(arrays) { if(!arrays || arrays.length == 0 ) return; //assume that arrays have the value let len = arrays.length; let fNumber = -1; for(let i = 0; i < len; i++) { if(fNumber != -1) break; for(let j = 1; j < len ; j++) { if(arrays[i] == arrays[j]) { fNumber = arrays[i]; break; } } } if(fNumber == -1) return undenfined; return fNumber; } let givenArray = [2,3,5,1,4]; console.log(findFirstRepeatedNumber(givenArray)); */ //navie approach let givenArray = [2,5,1,2,3,5,1,2,4]; 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; }//O(n^2) console.log(firstRecurringCharacter2(givenArray)); 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; } function firstRecurringCharacterI(input) { let index = input.length; for(let i = 0 ; i < input.length; i++) { for(let j = i + 1 ; j < input.length; j++) { if(input[i] == input[j]) { if(index > j){ index = j; } } } } return input[index]; } console.log(firstRecurringCharacterI([2,3,5,1,4]))
Editor Settings
Theme
Key bindings
Full width
Lines