Skip to content

Commit c3118a9

Browse files
authored
Merge pull request #1245 from nrudev/main
[nrudev] WEEK 01 solutions
2 parents 7685be4 + ee24006 commit c3118a9

File tree

4 files changed

+48
-0
lines changed

4 files changed

+48
-0
lines changed

contains-duplicate/nrudev.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
function containsDuplicate(nums: number[]): boolean {
2+
const map = new Map<number, number>();
3+
4+
for (let i = 0; i < nums.length; i++) {
5+
if (map.has(nums[i])) return true;
6+
map.set(nums[i], 1);
7+
}
8+
return false;
9+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
function longestConsecutive(nums: number[]): number {
2+
const set = new Set<number>(nums);
3+
let result = 0;
4+
5+
for (const num of set) {
6+
if (set.has(num - 1)) continue;
7+
let length = 1;
8+
while (set.has(num + length)) length++;
9+
result = Math.max(length, result);
10+
}
11+
12+
return result;
13+
}

top-k-frequent-elements/nrudev.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
function topKFrequent(nums: number[], k: number): number[] {
2+
const map: Map<number, number> = new Map();
3+
4+
nums.forEach((val) => {
5+
if (map.has(val)) map.set(val, map.get(val)!! + 1);
6+
else map.set(val, 1);
7+
});
8+
9+
return Array.from(map)
10+
.sort((a, b) => b[1] - a[1])
11+
.slice(0, k)
12+
.map((item) => item[0]);
13+
}

two-sum/nrudev.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
function twoSum(nums: number[], target: number): number[] {
2+
const result: number[] = [];
3+
4+
for (let i = 0; i < nums.length; i++) {
5+
for (let j = i + 1; j < nums.length; j++) {
6+
if (nums[i] + nums[j] === target) {
7+
result.push(i, j);
8+
}
9+
}
10+
}
11+
12+
return result;
13+
}

0 commit comments

Comments
 (0)