Intervalos que se intersectam
Crie uma função que receba um array de intervalos e retorne quantos intervalos se sobrepõem a um determinado ponto.
Um intervalo se sobrepõe a um determinado ponto se o ponto estiver dentro do intervalo ou no limite do intervalo. Por exemplo, o ponto 3 se sobrepõe ao intervalo [2, 4] (está dentro) e ao intervalo [2, 3] (está no limite).
Para ilustrar:
count_overlapping([[1, 2], [2, 3], [1, 3], [4, 5], [0, 1]], 2) ➞ 3
# Isso ocorre porque [1, 2], [2, 3] e [1, 3] se sobrepõem ao ponto 2.Exemplos
count_overlapping([[1, 2], [2, 3], [3, 4]], 5) ➞ 0
count_overlapping([[1, 2], [5, 6], [5, 7]], 5) ➞ 2
count_overlapping([[1, 2], [5, 8], [6, 9]], 7) ➞ 2Observações
- Cada intervalo é representado por um array com um ponto inicial e um ponto final.
- Considera-se que os intervalos se intersectam mesmo que coincidam em apenas um ponto; por exemplo,
[2, 3]e[3, 4]se intersectam no ponto3. - Se for útil, você pode desenhar esses intervalos em uma reta em uma folha de papel.