diff --git a/contains-duplicate/suhacs.js b/contains-duplicate/suhacs.js new file mode 100644 index 000000000..f018c8820 --- /dev/null +++ b/contains-duplicate/suhacs.js @@ -0,0 +1,7 @@ +function containsDuplicate(nums) { + const setLength = [...new Set(nums)].length; + const numLength = nums.length; + return numLength === setLength ? false : true; +} +console.log(containsDuplicate([1, 1, 1, 3, 3, 4, 3, 2, 4, 2])); +// diff --git a/top-k-frequent-elements/suhacs.js b/top-k-frequent-elements/suhacs.js new file mode 100644 index 000000000..13bf4d287 --- /dev/null +++ b/top-k-frequent-elements/suhacs.js @@ -0,0 +1,14 @@ +// Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order. + +function top_k_frequent_element(numArr, k) { + let element_qty = []; + const numSet = [...new Set(numArr)]; + for (num of numSet) { + const count = numArr.filter((x) => x === num).length; + element_qty.push({ [num]: count }); + } + Object.keys(element_qty).forEach((key) => element_qty[key]); +} + +const Arr = [1, 2, 3, 4, 5, 5, 5, 5, 3, 3, 32, 2, 2, 1]; +top_k_frequent_element(Arr); diff --git a/valid-palindrome/suhacs.js b/valid-palindrome/suhacs.js new file mode 100644 index 000000000..cc4508004 --- /dev/null +++ b/valid-palindrome/suhacs.js @@ -0,0 +1,12 @@ +function isValidPalindrome(text) { + let refinedTxt = text + .replaceAll(/[^a-zA-Z0-9]/g, "") + .replaceAll(" ", "") + .toLowerCase(); + console.log(refinedTxt === [...refinedTxt].reverse().join("") ? true : false); + return refinedTxt === [...refinedTxt].reverse().join("") ? true : false; +} + +isValidPalindrome("A man, a plan, a canal: Panama"); //true +isValidPalindrome("race a car"); //false +isValidPalindrome(" "); //true