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.
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
thingol
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 )
L
lavh
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!
derheimen
thingol você estudou muito as API do java, especificamente oque cai na prova ???
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!!