Intervalos que se intersectam

Crie uma função que receba uma lista de intervalos e retorne quantos deles contêm determinado ponto.

Um intervalo contém determinado ponto se esse ponto estiver dentro do intervalo ou no limite do intervalo. Por exemplo, o ponto 3 pertence 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] contêm o 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) ➞ 2

Notas

  • Cada intervalo é representado por uma lista com um ponto inicial e um ponto final.
  • Considera-se que os intervalos se intersectam mesmo que tenham apenas um ponto em comum; por exemplo, [2, 3] e [3, 4] se intersectam no ponto 3.
  • Se for útil, você pode desenhar esses intervalos em uma reta numa folha de papel.