diff --git a/contains-duplicate/printjin-gmailcom.py b/contains-duplicate/printjin-gmailcom.py new file mode 100644 index 000000000..c9851976c --- /dev/null +++ b/contains-duplicate/printjin-gmailcom.py @@ -0,0 +1,3 @@ +class Solution: + def containsDuplicate(self, nums): + return len(nums) != len(set(nums)) diff --git a/house-robber/printjin-gmailcom.py b/house-robber/printjin-gmailcom.py new file mode 100644 index 000000000..de03a9232 --- /dev/null +++ b/house-robber/printjin-gmailcom.py @@ -0,0 +1,9 @@ +class Solution: + def rob(self, nums): + num_map = {} + for i, num in enumerate(nums): + left = num_map.get(i - 2, 0) + leftleft = num_map.get(i - 3, 0) + num_map[i] = max(left + num, leftleft + num) + return max(num_map.get(len(nums) - 1, 0), num_map.get(len(nums) - 2, 0)) + diff --git a/longest-consecutive-sequence/printjin-gmailcom.py b/longest-consecutive-sequence/printjin-gmailcom.py new file mode 100644 index 000000000..7b7188efd --- /dev/null +++ b/longest-consecutive-sequence/printjin-gmailcom.py @@ -0,0 +1,13 @@ +class Solution: + def longestConsecutive(self, nums): + num_set = set(nums) + longest = 0 + for num in num_set: + if num - 1 not in num_set: + current = num + length = 1 + while current + 1 in num_set: + current += 1 + length += 1 + longest = max(longest, length) + return longest diff --git a/top-k-frequent-elements/printjin-gmailcom.py b/top-k-frequent-elements/printjin-gmailcom.py new file mode 100644 index 000000000..9e30def0d --- /dev/null +++ b/top-k-frequent-elements/printjin-gmailcom.py @@ -0,0 +1,6 @@ +from collections import Counter + +class Solution: + def topKFrequent(self, nums, k): + count = Counter(nums) + return [num for num, _ in count.most_common(k)] diff --git a/two-sum/printjin-gmailcom.py b/two-sum/printjin-gmailcom.py new file mode 100644 index 000000000..437d04e4b --- /dev/null +++ b/two-sum/printjin-gmailcom.py @@ -0,0 +1,9 @@ +class Solution: + def twoSum(self, nums, target): + num_map = {} + for i, num in enumerate(nums): + left = target - num + if left in num_map: + return [num_map[left], i] + num_map[num] = i +