나는 HW에 대해이 질문을 가지고 있는데 어떻게해야할지 모르겠다.
배열 A [1 ... n]은 0을 제외하고 0부터 n까지의 모든 정수를 포함한다 . 배열이 정렬되지 않았습니다.
이 문제에서 우리는 한 번의 작업으로 A의 전체 정수에 액세스 할 수 없습니다.
A의 요소는 2 진수로 표시되며, 액세스하는 데 사용할 수있는 유일한 작업은 "일정한 시간이 걸리는 A [i]의 j 번째 비트를 가져 오는 것"입니다.실행 시간을 O (n)으로 줄이십시오.
O (n) 시간에 누락 된 정수를 찾아야합니다.
일반적으로 수행하는 데 걸리는 시간은 O (NlgN) 입니다. N 배열에서 실행하고 N - lgn 비트의 기능인 모든 비트를 가져옵니다.
모든 비트를 읽지 않고 어떻게 할 수 있습니까?
배열이 정렬 되었습니까? – Marcin
다른 속성이 있습니까? 예 : 배열의 숫자가 정렬되어 있습니까? 그렇지 않으면 적어도 한 번씩 각 비트를 보지 않고는 불가능합니다. – flolo
아니요, 배열이 정렬되지 않습니다. – sara