Skip to content

Commit 2c6b564

Browse files
committed
Week 1
1 parent 0fc7ec8 commit 2c6b564

File tree

5 files changed

+56
-0
lines changed

5 files changed

+56
-0
lines changed

contains-duplicate/8804who.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
class Solution:
2+
def containsDuplicate(self, nums: List[int]) -> bool:
3+
return len(set(nums)) != len(nums)
4+

house-robber/8804who.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Solution:
2+
def rob(self, nums: List[int]) -> int:
3+
if len(nums) == 1:
4+
return nums[0]
5+
elif len(nums) == 2:
6+
return max(nums)
7+
else:
8+
nums = [0] + nums
9+
dp = [0 for _ in range(len(nums))]
10+
dp[1] = nums[1]
11+
for i in range(1, len(nums)):
12+
dp[i] = max(dp[i-2]+nums[i], dp[i-1])
13+
return dp[-1]
14+
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution:
2+
def longestConsecutive(self, nums: List[int]) -> int:
3+
num_set = set(nums)
4+
answer = 0
5+
while num_set:
6+
num = num_set.pop()
7+
l, r = 1, 1
8+
9+
while num - l in num_set:
10+
num_set.remove(num-l)
11+
l += 1
12+
13+
while num + r in num_set:
14+
num_set.remove(num+r)
15+
r += 1
16+
17+
answer = max(answer, l+r-1)
18+
return answer
19+

top-k-frequent-elements/8804who.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution:
2+
def topKFrequent(self, nums: List[int], k: int) -> List[int]:
3+
num_list = {}
4+
for num in nums:
5+
if num not in num_list:
6+
num_list[num] = 1
7+
else:
8+
num_list[num] += 1
9+
10+
return [n[1] for n in sorted([[num_list[key], key] for key in num_list.keys()], reverse=True)[:k]]
11+

two-sum/8804who.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
class Solution:
2+
def twoSum(self, nums: List[int], target: int) -> List[int]:
3+
num_list = {}
4+
for i in range(len(nums)):
5+
if target-nums[i] in num_list:
6+
return [num_list[target-nums[i]], i]
7+
num_list[nums[i]] = i
8+

0 commit comments

Comments
 (0)