배열이 주어지면 모든 요소에 대해 주어진 요소의 오른쪽에서 현재 요소보다 큰 가장 작은 요소를 찾아야합니다.배열의 다음 큰 요소 찾기
수학적 배열 A
의 모든 인덱스 i
를 들어 , 난이 무력 솔루션은 O(n^2)
될 때마다 인덱스 i
에 대한 j
을 찾을 필요가 인덱스 j
등이
A[j] > A[i]
j > i
A[j] - A[i] is minimum
찾을 필요 나는 더 잘하기를 바라고 있습니다. 나는 O(n log n)
해결책이 자기 균형을 잡는 BST를 사용하여 가능하다고 생각하고 있습니다. 그러나 그것은 꽤 복잡한 것처럼 보입니다. 또한 O(n)
솔루션이 필요합니다.
이 문제의 해결책은 있습니까? O(n)
하한이 O(n log n)
이라는 증거가 있습니까? O (nlogn)의
모든 색인을 찾을 필요가 있습니까? 또는 주어진 색인 만? –
입력이'A'와'i'이고, 원하는 출력은'j', s.t입니다. 진술 된 조건은 유지됩니까? – Nicolas
모든 인덱스에 필요합니다 .. 하나뿐 아니라. 입력은''A''이고 출력은''i''에 대한''j''를 포함하는 배열''B''입니다 –