From c4839cd4c026934ee9ccf9875d4ed2ad3fdfaf6e Mon Sep 17 00:00:00 2001 From: Heeseung Koo Date: Sat, 5 Apr 2025 00:28:13 +0900 Subject: [PATCH 1/4] w01: 217. Contains Duplicate --- contains-duplicate/nrudev.ts | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 contains-duplicate/nrudev.ts diff --git a/contains-duplicate/nrudev.ts b/contains-duplicate/nrudev.ts new file mode 100644 index 000000000..8b173e20a --- /dev/null +++ b/contains-duplicate/nrudev.ts @@ -0,0 +1,9 @@ +function containsDuplicate(nums: number[]): boolean { + const map = new Map(); + + for (let i = 0; i < nums.length; i++) { + if (map.has(nums[i])) return true; + map.set(nums[i], 1); + } + return false; +} From fd85f70899e2b5a9efe0ac8520794580892242c1 Mon Sep 17 00:00:00 2001 From: Heeseung Koo Date: Sat, 5 Apr 2025 00:38:36 +0900 Subject: [PATCH 2/4] w01: 1. Two Sum --- two-sum/nrudev.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 two-sum/nrudev.ts diff --git a/two-sum/nrudev.ts b/two-sum/nrudev.ts new file mode 100644 index 000000000..49a7e748d --- /dev/null +++ b/two-sum/nrudev.ts @@ -0,0 +1,13 @@ +function twoSum(nums: number[], target: number): number[] { + const result: number[] = []; + + for (let i = 0; i < nums.length; i++) { + for (let j = i + 1; j < nums.length; j++) { + if (nums[i] + nums[j] === target) { + result.push(i, j); + } + } + } + + return result; +} From 981547357848be6d4568e209ee8a0bc28cb2b0f2 Mon Sep 17 00:00:00 2001 From: Heeseung Koo Date: Tue, 8 Apr 2025 18:41:53 +0900 Subject: [PATCH 3/4] w01: 347. Top K Frequent Elements --- top-k-frequent-elements/nrudev.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 top-k-frequent-elements/nrudev.ts diff --git a/top-k-frequent-elements/nrudev.ts b/top-k-frequent-elements/nrudev.ts new file mode 100644 index 000000000..c08869bfd --- /dev/null +++ b/top-k-frequent-elements/nrudev.ts @@ -0,0 +1,13 @@ +function topKFrequent(nums: number[], k: number): number[] { + const map: Map = new Map(); + + nums.forEach((val) => { + if (map.has(val)) map.set(val, map.get(val)!! + 1); + else map.set(val, 1); + }); + + return Array.from(map) + .sort((a, b) => b[1] - a[1]) + .slice(0, k) + .map((item) => item[0]); +} From ee24006b1cc59276cf19dc952bb6193a4e34d543 Mon Sep 17 00:00:00 2001 From: Heeseung Koo Date: Wed, 9 Apr 2025 00:15:31 +0900 Subject: [PATCH 4/4] w01: 128. Longest Consecutive Sequence --- longest-consecutive-sequence/nrudev.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 longest-consecutive-sequence/nrudev.ts diff --git a/longest-consecutive-sequence/nrudev.ts b/longest-consecutive-sequence/nrudev.ts new file mode 100644 index 000000000..1d8d14201 --- /dev/null +++ b/longest-consecutive-sequence/nrudev.ts @@ -0,0 +1,13 @@ +function longestConsecutive(nums: number[]): number { + const set = new Set(nums); + let result = 0; + + for (const num of set) { + if (set.has(num - 1)) continue; + let length = 1; + while (set.has(num + length)) length++; + result = Math.max(length, result); + } + + return result; +}