diff --git a/javascript/1_Two_Sum.js b/javascript/1_Two_Sum.js new file mode 100644 index 000000000..af4a90494 --- /dev/null +++ b/javascript/1_Two_Sum.js @@ -0,0 +1,11 @@ +//Time: O(n) +//Space: O(n) +var twoSum = function(nums, target){ + let visited = {}; + for(let num in nums){ + let desired = target - nums[num]; + if(desired in visited) + return [num,visited[desired]]; + visited[nums[num]] = num; + }return []; +} diff --git a/javascript/217-ContainsDuplicate.js b/javascript/217-ContainsDuplicate.js new file mode 100644 index 000000000..1b6776f3b --- /dev/null +++ b/javascript/217-ContainsDuplicate.js @@ -0,0 +1,11 @@ +// Time: O(n) +// Space: O(n) + +var containsDuplicate = function(nums) { + let visited = {}; // visited object to account of number visited from the array nums + for(let num of nums){ + if(num in visited) return true; //condition to check if object already has num + visited[num] = 1; + } + return false; +} diff --git a/javascript/242_Valid_Anagram.js b/javascript/242_Valid_Anagram.js new file mode 100644 index 000000000..26adfac35 --- /dev/null +++ b/javascript/242_Valid_Anagram.js @@ -0,0 +1,18 @@ +//Time: O(s+t) +//Space: O(s+t) +var isAnagram = function(s, t) { + if(s.length !== t.length) return false; + + let visitedS = {}, visitedT = {}; + + for(let num of s) + visitedS[num] = visitedS[num]+1 || 1; + + for(let num of t) + visitedT[num] = visitedT[num]+1 || 1; + + for(let keys in visitedS){ + if(visitedS[keys] !== visitedT[keys]) return false; + } + return true; +}; diff --git a/javascript/347_Top_K_Frequent_Elements.js b/javascript/347_Top_K_Frequent_Elements.js new file mode 100644 index 000000000..43b3e94ab --- /dev/null +++ b/javascript/347_Top_K_Frequent_Elements.js @@ -0,0 +1,20 @@ +//Time: O(nlogn) +//Space: O(n) +var topKFrequent = function(nums, k) { + let visited = {}; + for(let num of nums) + visited[num] = visited[num]+1 || 1; + var sortable = []; + for (var vehicle in visited) { + sortable.push([vehicle, visited[vehicle]]); + } + + sortable.sort(function(a, b) { + return b[1]-a[1]; + }); + let res = []; + for(let i = 0; i word.split("").sort().join("")); + const hash = {}; + for(let str in strs){ + if(!hash[sortedStr[str]]){ + hash[sortedStr[str]] = [strs[str]]; + }else{ + hash[sortedStr[str]].push(strs[str]); + } + } + return Object.values(hash); +};