Distribuição do ouro
A distribuição das moedas de ouro entre um grupo de piratas pode ser representada por um array:
[3, 9, 4, 5, 5]
// O pirata 1 tem 3 de ouro, o pirata 2 tem 9 de ouro, e assim por diante.A diferença entre a quantidade de ouro de cada pirata e a do pirata mais rico é representada assim:
[6, 0, 5, 4, 4]
// Pois 6 = 9 - 3, 0 = 9 - 9, 4 = 9 - 5, e assim por diante.Os piratas têm um forte senso de justiça, e um pirata matará os demais se considerar que sua parte é pequena demais. Cada pirata tem um limiar de desigualdade próprio: a diferença máxima que ele está disposto a tolerar antes de matar seus companheiros.
Usando a distribuição de ouro acima:
[5, 0, 5, 5, 5]
// Há piratas mortos, pois 5 < 6.
// 5 é o limiar de desigualdade do pirata 1 e 6 é sua diferença de ouro.
[7, 0, 5, 5, 5]
// O pirata 1 está satisfeito, pois 7 > 6.
// Todos os outros piratas também estão satisfeitos.Dada uma distribuição de moedas e um array de limiares de desigualdade, crie uma função que retorne true se algum pirata for morto, ou false caso contrário.
Exemplos
piratesKilled([3, 5, 8, 3, 4], [10, 4, 2, 5, 5]) // ➞ false
piratesKilled([3, 5, 8, 3, 4], [10, 4, 2, 5, 1]) // ➞ true
piratesKilled([3, 3, 10], [7, 7, 0]) // ➞ false
piratesKilled([3, 3, 10], [6, 6, 0]) // ➞ trueNotas
- Um pirata mata se a diferença entre sua quantidade de ouro e a do pirata mais rico for estritamente maior que seu limiar de desigualdade.
- Os arrays de distribuição de ouro e de limiares de desigualdade seguem a mesma ordem. (Por exemplo, o pirata 1 ocupa o índice 0 em ambos os arrays, o pirata 2 ocupa o índice 1 em ambos os arrays, e assim por diante).