File tree Expand file tree Collapse file tree 3 files changed +64
-0
lines changed
validate-binary-search-tree Expand file tree Collapse file tree 3 files changed +64
-0
lines changed Original file line number Diff line number Diff line change 1+ from typing import List
2+
3+ class Solution :
4+ def threeSum (self , nums : List [int ]) -> List [List [int ]]:
5+ nums .sort ()
6+ n = len (nums )
7+ res : List [List [int ]] = []
8+
9+ for i in range (n - 2 ):
10+ # i μ€λ³΅ μ€ν΅
11+ if i > 0 and nums [i ] == nums [i - 1 ]:
12+ continue
13+
14+ # nums[i] μ΄νλ μ λΆ μμ β λ μ΄μ 0 λͺ» λ§λ¦
15+ if nums [i ] > 0 :
16+ break
17+
18+ left , right = i + 1 , n - 1
19+
20+ while left < right :
21+ total = nums [i ] + nums [left ] + nums [right ]
22+
23+ if total == 0 :
24+ res .append ([nums [i ], nums [left ], nums [right ]])
25+
26+ left += 1
27+ right -= 1
28+
29+ # left μ€λ³΅ μ€ν΅
30+ while left < right and nums [left ] == nums [left - 1 ]:
31+ left += 1
32+
33+ # right μ€λ³΅ μ€ν΅
34+ while left < right and nums [right ] == nums [right + 1 ]:
35+ right -= 1
36+
37+ elif total < 0 :
38+ left += 1
39+ else :
40+ right -= 1
41+
42+ return res
Original file line number Diff line number Diff line change 1+ class Solution :
2+ # dictionary use
3+ def topKFrequent (self , nums : List [int ], k : int ) -> List [int ]:
4+ result = {} # key: μμ, value: λ±μ₯ νμ
5+ for n in nums :
6+ if n in result :
7+ result [n ] = result [n ] + 1
8+ else :
9+ result [n ] = 1
10+
11+ # κ°μ₯ μμ£Ό λ±μ₯ν μμ kκ° λ°ν
12+ return sorted (result .keys (), key = lambda x : result [x ], reverse = True )[:k ]
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def isValidBST (self , root : Optional [TreeNode ]) -> bool :
3+ def validate (node : Optional [TreeNode ], low : float , high : float ) -> bool :
4+ if not node :
5+ return True
6+ if not (low < node .val < high ):
7+ return False
8+ return (validate (node .left , low , node .val ) and
9+ validate (node .right , node .val , high ))
10+ return validate (root , float ('-inf' ), float ('inf' ))
You canβt perform that action at this time.
0 commit comments