File tree Expand file tree Collapse file tree
longest-consecutive-sequence Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ class Solution :
2+ def containsDuplicate (self , nums : List [int ]) -> bool :
3+ ans = False
4+ dic = dict ()
5+
6+ for n in nums :
7+ if n in dic :
8+ return True
9+ else :
10+ dic [n ] = 1
11+ return ans
12+
13+
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def rob (self , nums : List [int ]) -> int :
3+ dp = {}
4+ dp [0 ] = nums [0 ]
5+ if len (nums ) >= 2 :
6+ dp [1 ] = max (nums [0 ], nums [1 ])
7+ else :
8+ return nums [0 ]
9+
10+ for i in range (2 , len (nums )):
11+ dp [i ] = max (dp [i - 1 ], dp [i - 2 ] + nums [i ])
12+
13+ res = list (dp .values ())[- 1 ]
14+ return res
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def longestConsecutive (self , nums : List [int ]) -> int :
3+ if len (nums ) <= 0 :
4+ return 0
5+
6+ res = 0
7+ length = 1
8+ nums .sort ()
9+
10+ for i in range (len (nums )- 1 ):
11+ if nums [i ] == nums [i + 1 ]:
12+ continue
13+ if nums [i ] + 1 == nums [i + 1 ]:
14+ length += 1
15+ else :
16+ res = max (res , length )
17+ length = 1
18+
19+ res = max (res , length )
20+ return res
21+
22+ #set을 사용한 풀이
23+ # if len(nums) <= 0:
24+ # return 0
25+ # res, cnt = 1, 1
26+ # sorted_nums = list(set(nums))
27+ # sorted_nums.sort()
28+ # print(sorted_nums)
29+
30+ # for i in range(len(sorted_nums) - 1):
31+ # if sorted_nums[i + 1] - sorted_nums[i] == 1:
32+ # cnt += 1
33+ # else:
34+ # cnt = 1
35+ # res = max(res, cnt)
36+ # return res
Original file line number Diff line number Diff line change 1+ import heapq
2+
3+ class Solution :
4+ def topKFrequent (self , nums : List [int ], k : int ) -> List [int ]:
5+ table = {}
6+ for n in nums :
7+ if n in table :
8+ table [n ] += 1
9+ else :
10+ table [n ] = 1
11+ #sol 1) sorting 사용한 case
12+ # sorted_table = sorted(table.items(), key=lambda x:x[1], reverse = True)
13+ # return [ key for key, freq in sorted_table[:k]]
14+
15+ #sol 2) min heap 사용한 case
16+ #convert the frequencies to negative values so it return first
17+ heap = [(- freq , key ) for key , freq in table .items ()]
18+ heapq .heapify (heap )
19+
20+ res = []
21+ for _ in range (k ):
22+ freq , key = heapq .heappop (heap )
23+ res .append (key )
24+ return res
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def twoSum (self , nums : List [int ], target : int ) -> List [int ]:
3+
4+ for i in range (len (nums )):
5+ for j in range (i + 1 , len (nums )):
6+ if nums [i ] + nums [j ] == target :
7+ return [i , j ]
8+
You can’t perform that action at this time.
0 commit comments