Dúvidas Arrays.binarySearch()

6 respostas
derheimen

Estava respondendo os exercicios do livro da kathy Sierra Cap07, exerc 9.

Dado um array devidamente preparado, contendo cinco elementos, qual a faixa de resultados poderia ser produzida por uma chamada correta de Arrays.binarySearc() ?

Resp : -6 a 4

Alguém poderia me explicar o porque desta resposta???
Ainda não consegui entender.

6 Respostas

L

De acordo com o livro:

0,1,2,3,4 = resultados válidos(indices)

-6 = (-(indice do ponto de inserção)-1)

O ponto de inserção nesse caso é 5, pois é onde seria adicionado o novo valor…então jogando 5 na formula dá -6.

Deu pra sacar ou nem? heheh…eu falei basicamente o que está no livro.

derheimen

Valeu lavh , muito obrigado pela explicação.

Então se meu array tiver 17 elementos, o resultado seria.


(-(17)-1) = -18

T

Hum, será que cai algo tão específico na prova? (Se bem que na minha prova caiu uma questão sobre java.util.PriorityQueue, que obviamente respondi errado por não ter lido o JavaDoc dessa coisa :stuck_out_tongue: )

L

Então Heider, agora vc me pegou! hahaha

Mas, pelo que eu entendi…o limite seria -18, não poderia ter um valor menor que esse, mas se o ponto de inserção for no meio do array por exemplo…então o resultado poderia ser -9 por exemplo, dependendo da posição q ele quebrou o array usando binarySearch…mas eu não tenho certeza…se alguem puder confirmar ficaria grato! :smiley:

derheimen

thingol você estudou muito as API do java, especificamente oque cai na prova ???

Tipo :

java.util.Date, java.util.Calendar, java.util.Locale, java.text.DateFormat, etc…

java.io.File, java.io.FileWriter, java.io.BufferedWriter, java.io.PrintWriter, java.io.FileReader, etc…

API das classes e interfaces de cojuntos;

???

LPJava

eh a velha matematica sinais iguais vc soma hehe e mantem o sinal! so isso que acontece, qdo respondi essa questao errei por falta de atenção e esquecer essa regra… e qdo vi a resposta fiquei pirado eheh! muita regra!!

Criado 8 de janeiro de 2007
Ultima resposta 8 de jan. de 2007
Respostas 6
Participantes 4