File tree Expand file tree Collapse file tree 2 files changed +34
-8
lines changed
find-median-from-data-stream Expand file tree Collapse file tree 2 files changed +34
-8
lines changed Original file line number Diff line number Diff line change 55- At most 5 * 10^4 calls will be made to addNum and findMedian.
66
77Time Complexity:
8- -
8+ - addNum(): O(nlogn)
9+ - 매번 정렬하기 때문
10+ - findMedian(): O(1)
11+ - 정렬된 리스트에서 인덱스 접근
912
10- Space Complexity:
11- -
13+ Space Complexity: O(n)
14+ - 입력된 모든 숫자를 리스트에 저장
1215
1316풀이방법:
14- -
17+ 1. 리스트 자료구조 사용
18+ 2. 리스트에 각 요소들 추가 후 정렬
19+ 3. 리스트의 요소 갯수가 홀수/짝수일 때의 경우를 나눠서 median 값을 구함
20+
21+ 메모:
22+ - heap이 익숙하지 않아서 일단 리스트로 문제를 풀었습니다.
23+ - 나중에 heap으로 다시 풀기
1524"""
25+ class MedianFinder :
26+
27+ def __init__ (self ):
28+ self .nums = []
29+
30+ def addNum (self , num : int ) -> None :
31+ self .nums .append (num )
32+ self .nums .sort ()
33+
34+
35+ def findMedian (self ) -> float :
36+ n = len (self .nums )
37+ if n % 2 == 1 :
38+ return self .nums [n // 2 ]
39+ else :
40+ mid1 = self .nums [n // 2 - 1 ]
41+ mid2 = self .nums [n // 2 ]
42+ return (mid1 + mid2 ) / 2.0
43+
Original file line number Diff line number Diff line change 21215. 모든 미팅을 검사한 후에도 충돌이 없으면 true 반환
2222
2323메모:
24-
25- 변수명 헷갈림:
24+ 1. 변수명 헷갈림
2625- intervals는 리스트 -> `.end` 속성 없음
2726- interval은 객체 -> `.end` 속성 있음
28-
29- 정렬 문법:
27+ 2. 정렬 문법
3028- list.sort(key=lambda x: x.start)
3129"""
3230from typing import List
You can’t perform that action at this time.
0 commit comments