Skip to content

Commit 1d060c3

Browse files
authored
Merge pull request #2376 from dongzoolee/main
[dongzoolee] WEEK 1 Solutions
2 parents 6f915fd + e8b0675 commit 1d060c3

File tree

4 files changed

+56
-0
lines changed

4 files changed

+56
-0
lines changed

contains-duplicate/dongzoolee.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
function containsDuplicate(nums: number[]): boolean {
2+
const sets = new Set<number>(nums);
3+
return sets.size < nums.length;
4+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
function longestConsecutive(nums: number[]): number {
2+
const st = new Set(nums);
3+
4+
let mx = 0;
5+
for (const n of st) {
6+
if (st.has(n - 1)) continue;
7+
8+
let len = 1;
9+
while (st.has(n + len)) {
10+
len++;
11+
}
12+
13+
mx = Math.max(mx, len);
14+
}
15+
16+
return mx;
17+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
function topKFrequent(nums: number[], k: number): number[] {
2+
const mp: { [k: number]: number } = {};
3+
nums.forEach((n) => (typeof mp[n] === "number" ? mp[n]++ : (mp[n] = 1)));
4+
5+
const unq_nums = [...new Set(nums)];
6+
unq_nums.sort((a, b) => {
7+
if (mp[a] === mp[b]) {
8+
return 0;
9+
}
10+
11+
return mp[a] < mp[b] ? 1 : -1;
12+
});
13+
14+
return unq_nums.slice(0, k);
15+
}

two-sum/dongzoolee.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
function twoSum(nums: number[], target: number): number[] {
2+
const sz = nums.length;
3+
let l = 0,
4+
r = 1,
5+
sm = nums[0] + nums[1];
6+
7+
while (l <= sz - 2 && r <= sz - 1) {
8+
sm = nums[l] + nums[r];
9+
10+
if (sm === target) {
11+
return [l, r];
12+
}
13+
14+
if (l === r - 1) {
15+
(r++, (l = 0));
16+
} else {
17+
l++;
18+
}
19+
}
20+
}

0 commit comments

Comments
 (0)