A sequência de Connell

A sequência de Connell pode ser representada como uma série crescente de linhas numeradas alternadas:

  • Se o número da linha for ímpar, a linha contém uma quantidade de números ímpares igual ao número da linha, ordenados em ordem crescente.
  • Se o número da linha for par, a linha contém uma quantidade de números pares igual ao número da linha, ordenados em ordem crescente.

Cada número em uma linha é igual ao seu próximo termo menos 2, e o último número (e o maior) da sequência precisa ser o quadrado do número da linha. Os números precisam ser únicos: não há duplicatas na sequência, e nem todos os números fazem parte dela.

Line 1 = 1
# 1 odd number

Line 2 = 2, 4
# 2 even numbers

Line 3 = 5, 7, 9
# 3 odd numbers
# Notice how the number 3 is missing.
# Highest number in line is 9 (the square of line number)

Line 4 = 10, 12, 14, 16
# 4 even numbers

and so on...

Dado um start e um end, que representam a linha inicial e final da sequência, você deve implementar uma função que retorne o índice de n em um array gerado contendo a parte correspondente da sequência de Connell. Se n não estiver no array, você deverá retornar a string "Not Found".

Exemplos

connell_sequence(1, 3, 4) ➞ 2
# sequence = [1, 2, 4, 5, 7, 9]
# Number 4 is at index 2

connell_sequence(2, 3, 4) ➞ 1
# sequence = [2, 4, 5, 7, 9]
# Number 4 is at index 1

connell_sequence(4, 5, 22) ➞ "Not Found"
# sequence = [10, 12, 14, 16, 17, 19, 21, 23, 25]
# Number 22 is not in the sequence

Observações

É possível resolver isso com complexidade de tempo e espaço O(1)!