diff --git a/contains-duplicate/RiaOh.js b/contains-duplicate/RiaOh.js new file mode 100644 index 000000000..e42199920 --- /dev/null +++ b/contains-duplicate/RiaOh.js @@ -0,0 +1,15 @@ +/** + * @param {number[]} nums + * @return {boolean} + */ +var containsDuplicate = function (nums) { + let count = [nums[0]]; + for (let i = 1; i < nums.length; i++) { + if (count.includes(nums[i])) { + return true; + } else { + count.push(nums[i]); + } + } + return false; +}; diff --git a/house-robber/RiaOh.js b/house-robber/RiaOh.js new file mode 100644 index 000000000..f14811c6b --- /dev/null +++ b/house-robber/RiaOh.js @@ -0,0 +1,21 @@ +/** + * @param {number[]} nums + * @return {number} + */ +var rob = function (nums) { + if (nums.length <= 1) { + if (nums.length === 0) { + return 0; + } else { + return nums[0]; + } + } + + const arr = new Array(nums.length + 1); + arr[0] = 0; + arr[1] = nums[0]; + for (let i = 2; i < arr.length; i++) { + arr[i] = Math.max(arr[i - 1], arr[i - 2] + nums[i - 1]); + } + return arr[arr.length - 1]; +}; diff --git a/longest-consecutive-sequence/RiaOh.js b/longest-consecutive-sequence/RiaOh.js new file mode 100644 index 000000000..66b1e2ef2 --- /dev/null +++ b/longest-consecutive-sequence/RiaOh.js @@ -0,0 +1,23 @@ +/** + * @param {number[]} nums + * @return {number} + */ +var longestConsecutive = function (nums) { + if (nums.length === 0) { + return 0; + } + const set = new Set(nums); + const uniquiArr = [...set]; + uniquiArr.sort((a, b) => a - b); + const lengthArr = [1]; + for (let i = 1; i < uniquiArr.length; i++) { + if (uniquiArr[i - 1] + 1 === uniquiArr[i]) { + const last = lengthArr[lengthArr.length - 1] + 1; + lengthArr.pop(); + lengthArr.push(last); + } else { + lengthArr.push(1); + } + } + return Math.max.apply(null, lengthArr); +}; diff --git a/top-k-frequent-elements/RiaOh.js b/top-k-frequent-elements/RiaOh.js new file mode 100644 index 000000000..79298105e --- /dev/null +++ b/top-k-frequent-elements/RiaOh.js @@ -0,0 +1,22 @@ +/** + * @param {number[]} nums + * @param {number} k + * @return {number[]} + */ +var topKFrequent = function (nums, k) { + const obj = {}; + for (let i = 0; i < nums.length; i++) { + if (Object.keys(obj).includes(String(nums[i]))) { + obj[nums[i]] = obj[nums[i]] + 1; + } else { + obj[nums[i]] = 1; + } + } + + const keysArr = Object.keys(obj); + const sortedObj = keysArr + .sort((a, b) => obj[b] - obj[a]) + .slice(0, k) + .map((num) => Number(num)); + return sortedObj; +}; diff --git a/two-sum/RiaOh.js b/two-sum/RiaOh.js new file mode 100644 index 000000000..3cf23787c --- /dev/null +++ b/two-sum/RiaOh.js @@ -0,0 +1,16 @@ +/** + * @param {number[]} nums + * @param {number} target + * @return {number[]} + */ +var twoSum = function (nums, target) { + let result = []; + for (let i = 0; i < nums.length; i++) { + for (let j = i + 1; j < nums.length; j++) { + if (nums[i] + nums[j] === target) { + result = [i, j]; + } + } + } + return result; +};