2011-01-17 6 views
-4

Mögliche Duplizieren fehlt:
question about missing element in array
decrease runtime to O(n) finden integer

Ein Array A [1 n] enthält alle ganzen Zahlen von 0 bis n mit Ausnahme einer Zahl, die fehlt. In diesem Problem können wir nicht auf eine ganze Ganzzahl in A mit einer einzigen Operation zugreifen. Die Elemente von A sind in binär dargestellt, und die einzige Operation, die wir verwenden können, um auf sie zuzugreifen, ist "hol das jth Bit von A [i]", was dauernde Zeit benötigt. Können wir es in O (n) Zeit machen?

+1

Hört sich "heartworky" an und bedeutet das, dass 'A's Elemente nur Strings sind, die eine binäre Ganzzahl darstellen? – birryree

+0

@birrreee bitte dot schreibe anythng nur um Kommentar zu geben ... schreibe etwas, was Sinn macht .. –

+5

prp, das wurde zuvor gefragt (und beantwortet) auf SO. Schlagen Sie vor, dass Sie eine Suche durchführen, bevor Sie in Zukunft Fragen stellen: http://stackoverflow.com/questions/2946056/question-about-missing-element-in-array. Und vielleicht solltest du auch daran denken, deine _own_ Hausaufgaben in Zukunft zu machen :-) – paxdiablo

Antwort

0

Ja, Sie können es in O (n) tun. Aber wenn es deine Hausaufgaben sind, solltest du es selbst versuchen.

+1

thnx kann ich es lösen ... –

+0

Wie kann man eine binäre Suche nach einem unbekannten Wert machen? – Apalala

+0

@Apalala: Ich erwartete sortierte Array. Sie haben Recht, dies ist nicht möglich, wenn das Array nicht sortiert ist. Danke für diesen Kommentar. –