From 4e0de0a30d37edd50e38680ee0879f8a37fe6c77 Mon Sep 17 00:00:00 2001 From: Harshit Choudhary Date: Sun, 3 Apr 2022 15:39:00 -0500 Subject: [PATCH 1/5] 217-ContainsDuplicate.js --- javascript/217-ContainsDuplicate.js | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 javascript/217-ContainsDuplicate.js 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; +} From af34cf4b38a37d6d35adfc94f0a1a5b4e34f20d7 Mon Sep 17 00:00:00 2001 From: Harshit Choudhary Date: Sun, 3 Apr 2022 16:04:30 -0500 Subject: [PATCH 2/5] 242_Valid_Anagram.js --- javascript/242_Valid_Anagram.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 javascript/242_Valid_Anagram.js 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; +}; From 8463226ae5a415ccdfc379dbf9efd4c271bcd8e5 Mon Sep 17 00:00:00 2001 From: Harshit Choudhary Date: Sun, 3 Apr 2022 16:10:09 -0500 Subject: [PATCH 3/5] 1_Two_Sum.js --- javascript/1_Two_Sum.js | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 javascript/1_Two_Sum.js 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 []; +} From 4eba33903d468d865744eea3f63f89eb448958f0 Mon Sep 17 00:00:00 2001 From: Harshit Choudhary Date: Sun, 3 Apr 2022 16:34:50 -0500 Subject: [PATCH 4/5] 49_Group_Anagrams.js --- javascript/49_Group_Anagrams.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 javascript/49_Group_Anagrams.js diff --git a/javascript/49_Group_Anagrams.js b/javascript/49_Group_Anagrams.js new file mode 100644 index 000000000..208b3df29 --- /dev/null +++ b/javascript/49_Group_Anagrams.js @@ -0,0 +1,15 @@ +//Time: O(nlogn) +//Time: O(n) + +var groupAnagrams = function(strs) { + const sortedStr = strs.map(word => 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); +}; From a924888dd2b5c76a66c64291aa64461bc609fb24 Mon Sep 17 00:00:00 2001 From: Harshit Choudhary Date: Sun, 3 Apr 2022 17:30:17 -0500 Subject: [PATCH 5/5] 347_Top_K_Frequent_Elements.js --- javascript/347_Top_K_Frequent_Elements.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 javascript/347_Top_K_Frequent_Elements.js 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