Editor de texto, parte 1
Vamos criar um editor de texto semelhante ao Microsoft Word. O editor salva automaticamente para que o usuário perca apenas uma pequena quantidade de dados caso ocorra uma falha.
Queremos poder lidar com quantas operações forem necessárias, mas elas precisam ser processadas em ordem. Há duas operações básicas que nosso editor entende:
- Uma operação de inserção contém o texto a ser inserido e a posição em que ele deve ser inserido.
- Uma operação de exclusão contém a posição a partir da qual excluir e o comprimento do texto a ser excluído.
Escreva uma função que receba uma lista de operações, de inserção ou de exclusão, e retorne o texto combinado.
Exemplos
[Insert("foo", 0), Insert(" bar", 3)] ➞ "foo bar"
[Insert("foo bar", 0), Delete(4, 2)] ➞ "fobar"Observações
Lembre-se de que cada operação terá dados que pressupõem que as operações anteriores já foram processadas.