이 가능한 중복 (N) 시간 :
Can you sort n integers in O(n) amortized complexity?O의 90 번째 백분위 수를 계산
내가 정수의 정렬되지 않은리스트에 근거 해, 알고리즘을 쓸 필요는, "가장 낮은 반환 파일의 숫자의 90 % 이상을 초과하는 파일의 숫자 "또는 해당 숫자가 없으면 -1입니다. 간단합니다. 병합 정렬을 사용하여 목록을 정렬 한 다음 색인의 90 %에서 시작하여 그 앞에있는 숫자보다 큰 첫 번째 숫자를 찾습니다.
질문의 2 번 부분은 나를 혼란스럽게 만들었습니다. 우리는 더 많은 정보를 얻었습니다. 정수는 급여를 의미합니다. 즉, 정수는 모두 양수이고, 대다수는 1,000,000 미만입니다. O (n) 시간에 원래의 문제를 해결하는 알고리즘을 작성하는 것이 가능하지만, 이것이 가능한지 조금도 알지 못합니다. 어떤 아이디어?
나는 지금까지 해왔 던 것을 게시 할 것이지만, 나는 무엇이든을 생각해 낼 수 없었다.
이를 위해 사용될 수 있습니다. Cormen에서보세요. 정렬을위한 선형 시간 알고리즘도 있습니다. –