2017-09-24 1 views
1

부분 배열 문제 : 정수 배열 A (만 양수)을 감안할 때, 합 S와 길이의 연속 부분 배열이있다? 이 창 솔루션을 슬라이딩 O (N)입니다.많은 부분 배열 합계 쿼리

이제 우리는 정적 배열에 많은 이러한 쿼리의 S이있는 경우, 우리는 사전 처리를 할 수 있습니다. O (N^2)의 모든 부분 배열 합계를 계산하여 해시 테이블에 저장할 수 있습니다. 이것은 또한 O (N^2) 공간을 차지합니다. 그런 다음 우리는 (1) 단지 내 질문은 해시 테이블

에서 S를 찾는 O에서 쿼리를 처리 할 수 ​​prepeprocessing 일부 O (N 로그 N)은 무엇입니까? 그것이 O (log N)에 쿼리를 드롭하는 것을 의미한다.

+0

'슬라이딩 윈도우 솔루션은 O (N)'접근 방식이란 무엇입니까? 문제를 완전히 지정 했습니까? – MBo

+0

잘 알려진 기본 하위 배열 합계 문제를 완전히 이해하고 있습니까? 당신이하는 서브 배열 O 금액이 인덱스 개미를 선택하는 선택으로 조금 어려운 것 같습니다 –

+0

(N ** 2) –

답변

0

일부 O가 prepeprocessing (N N 로그)?

아니오.

당신은 O 미만 크기 N 2의 출력을 생성 할 수없는 크기 N. ( N 2) 시간의 배열 N 2 서브 어레이 수있다.

+0

N log N 전처리를 사용하여 N^2 해시 테이블을 생성 할 필요가 없습니다. 목표는 전처리가 완료된 후 최악의 O (로그 N) 시간으로 쿼리 할 수 ​​있다는 것입니다. –