Crie uma função que leia um array de inteiros no seguinte formato: [K, r1, r2, r3, ...], em que K representa o número de carteiras em uma sala de aula e os demais inteiros do array estarão em ordem crescente e representarão as carteiras que já estão ocupadas. Todas as carteiras estarão dispostas em duas colunas, em que a carteira #1 fica na parte superior esquerda, a carteira #2 fica na parte superior direita, a carteira #3 fica abaixo da #1, a carteira #4 fica abaixo da #2 etc.
Seu programa deve retornar o número de maneiras de acomodar dois estudantes lado a lado. Isso significa que um estudante fica à esquerda e o outro à direita, ou que um estudante fica diretamente acima ou abaixo do outro.
Para ilustrar:
[12, 2, 6, 7, 11]A sala de aula ficará assim:
[[#, 4, #, 8, 10, 12]]
// The first # is 2 and second # is 6 which are occupied.[[1, 3, 5, #, 9, #]]
// The first # is 7 and and second # is 11 which are occupied.Com base na disposição acima das carteiras ocupadas, há um total de seis maneiras de acomodar dois novos estudantes lado a lado. As combinações são:
[[1, 3]], [[3, 4]], [[3, 5]], [[8, 10]], [[9, 10]], [[10, 12]]Para esta entrada, seu programa deve retornar 6. K estará entre 2 e 24 e será sempre um número par. Depois de K, o número de carteiras ocupadas no array pode variar de 0 a K.
seatingStudents([6, 4]) ➞ 4
seatingStudents([8, 1, 8]) ➞ 6
seatingStudents([12, 2, 6, 7, 11]) ➞ 6N/A