File tree Expand file tree Collapse file tree 3 files changed +54
-0
lines changed Expand file tree Collapse file tree 3 files changed +54
-0
lines changed Original file line number Diff line number Diff line change 1+ """
2+ 시간 복잡도: O(V + E) V: 노드 개수, E: 간선 개수
3+ 공간 복잡도: O(V)
4+ """
5+ from collections import deque
6+ from typing import Optional
7+ class Solution :
8+ def cloneGraph (self , node : Optional ['Node' ]) -> Optional ['Node' ]:
9+ if not node :
10+ return
11+
12+ clone = Node (node .val )
13+ vis = {node : clone }
14+ queue = deque ([node ])
15+
16+ while queue :
17+ cur = queue .popleft ()
18+ for nxt in cur .neighbors :
19+ if nxt not in vis :
20+ vis [nxt ] = Node (nxt .val )
21+ queue .append (nxt )
22+ vis [cur ].neighbors .append (vis [nxt ])
23+ return clone
Original file line number Diff line number Diff line change 1+ """
2+ 시간 복잡도: O(N^2)
3+ 공간 복잡도: O(1)
4+ """
5+ class Solution :
6+ def countSubstrings (self , s : str ) -> int :
7+ result = 0
8+ def count_palindrome (left : int , right : int ):
9+ count = 0
10+ while left >= 0 and right < len (s ) and s [left ] == s [right ]:
11+ count += 1
12+ left -= 1
13+ right += 1
14+ return count
15+
16+ for i in range (len (s )):
17+ result += count_palindrome (i , i )
18+ result += count_palindrome (i , i + 1 )
19+ return result
Original file line number Diff line number Diff line change 1+ """
2+ 시간 복잡도: O(1)
3+ 공간 복잡도: O(1)
4+ """
5+ class Solution :
6+ def reverseBits (self , n : int ) -> int :
7+ result = 0
8+ for _ in range (32 ):
9+ result <<= 1
10+ result |= n & 1
11+ n >>= 1
12+ return result
You can’t perform that action at this time.
0 commit comments