diff --git a/contains-duplicate/casentino.ts b/contains-duplicate/casentino.ts new file mode 100644 index 000000000..fe800d220 --- /dev/null +++ b/contains-duplicate/casentino.ts @@ -0,0 +1,4 @@ +function containsDuplicate(nums: number[]): boolean { + const duplicateSet = new Set(nums); + return duplicateSet.size !== nums.length; +} diff --git a/longest-consecutive-sequence/casentino.ts b/longest-consecutive-sequence/casentino.ts new file mode 100644 index 000000000..0d027c2b1 --- /dev/null +++ b/longest-consecutive-sequence/casentino.ts @@ -0,0 +1,20 @@ +function longestConsecutive(nums: number[]): number { + if (nums.length === 0) { + return 0; + } + + const smallest = nums.sort((a, b) => a - b); + let longest = 1; + let sequence = 1; + for (let i = 1; i < smallest.length; i++) { + if (smallest[i] - smallest[i - 1] === 1) { + sequence += 1; + } else if (smallest[i] !== smallest[i - 1]) { + sequence = 1; + } + if (longest < sequence) { + longest = sequence; + } + } + return longest; +} diff --git a/top-k-frequent-elements/casentino.ts b/top-k-frequent-elements/casentino.ts new file mode 100644 index 000000000..5f9dc8d40 --- /dev/null +++ b/top-k-frequent-elements/casentino.ts @@ -0,0 +1,16 @@ +function topKFrequent(nums: number[], k: number): number[] { + const numsMap = new Map(); + for (let i = 0; i < nums.length; i++) { + if (numsMap.has(nums[i])) { + numsMap.set(nums[i], (numsMap.get(nums[i]) ?? 0) + 1); + } else { + numsMap.set(nums[i], 1); + } + } + const sortedNums = Array.from(numsMap).sort(([_a, a], [_b, b]) => b - a); + const results: number[] = []; + for (let j = 0; j < sortedNums.length && results.length < k; j++) { + results.push(sortedNums[j][0]); + } + return results; +} diff --git a/two-sum/casentino.ts b/two-sum/casentino.ts new file mode 100644 index 000000000..1e15a3845 --- /dev/null +++ b/two-sum/casentino.ts @@ -0,0 +1,9 @@ +function twoSum(nums: number[], target: number): number[] | undefined { + for (let i = 0; i < nums.length; i++) { + for (let j = i + 1; j < nums.length; j++) { + if (nums[i] + nums[j] === target) { + return [i, j]; + } + } + } +}