https://app.codility.com/demo/results/trainingKJKX8S-C3B/
Test results - Codility
An array A consisting of N integers is given. The dominator of array A is the value that occurs in more than half of the elements of A. For example, consider array A such that A[0] = 3 A[1] = 4 A[2] = 3 A[3] = 2 A[4] = 3 A[5] = -1 A[6] = 3 A[7] = 3 The dom
app.codility.com
Task Score
100%
Correctness
100%
Performance
100%
Detected time complexity
O(N * log(N)) or O(N)
def solution(A):
n = len(A)
stack = []
for a in A:
if not stack:
stack.append(a)
else:
if stack[-1] != a:
stack.pop()
else:
stack.append(a)
cnt = 0
for a in A:
if stack and a == stack[-1]:
cnt += 1
if cnt >= n//2+1:
return A.index(stack[-1])
else:
return -1
문제를 푸는데 도움이 된 테스트 케이스
[] [0] [1,1] [1,2] [1,2,3] [2,1,1] [1,1,2,2] [2,1,1,1] [1,1,2,2,2] |
728x90
반응형
'Problem Solving > Codility' 카테고리의 다른 글
[Python] FirstUnique (0) | 2021.07.15 |
---|---|
[Python] DisappearingPairs (0) | 2021.07.15 |
[Python] 7.3. Nesting (0) | 2021.03.30 |
[Python] 7.2. Fish (0) | 2021.03.29 |
[Python] 7.1. Brackets (0) | 2021.03.27 |
댓글