Problema
Ver original (inglês)Combine as linhas de um array 2D de inteiros em um único array. Leia as linhas de cima para baixo e os inteiros dentro de cada linha da esquerda para a direita. Pule linhas vazias. Preserve inteiros repetidos e sua ordem. As linhas podem ter comprimentos diferentes. Existem exatamente dois níveis de arrays: as linhas contêm apenas inteiros, sem valores nulos ou listas mais profundas.
Implemente flatten_nested_list(values).
Entrada
values: As linhas de inteiros a serem combinadas, na ordem.
Saída
Retorne todos os inteiros na ordem das linhas. Retorne um array vazio se não houver inteiros.
Restrições
0 ≤ número de linhas ≤ 10.000. No máximo 10.000 inteiros no total. Cada inteiro está entre −1.000.000.000 e 1.000.000.000. As linhas podem ser vazias ou ter comprimentos diferentes.
Exemplos
Entrada:
values = [
[1, 2],
[],
[3, 4]
]
Saída esperada:
expected = [1, 2, 3, 4]
Entrada:
std::vector<std::vector<long long>> values = {
{1, 2},
{},
{3, 4}
};
Saída esperada:
std::vector<long long> expected = {1, 2, 3, 4};
Entrada:
long[][] values = new long[][] {
new long[] {1, 2},
new long[] {},
new long[] {3, 4}
};
Saída esperada:
long[] expected = new long[] {1, 2, 3, 4};
Explicação
Leia 1 e 2 da primeira linha. Pule a segunda linha vazia. Adicione 3 e 4 da última linha.
Entrada:
values = [
[],
[]
]
Saída esperada:
expected = []
Entrada:
std::vector<std::vector<long long>> values = {
{},
{}
};
Saída esperada:
std::vector<long long> expected = {};
Entrada:
long[][] values = new long[][] {
new long[] {},
new long[] {}
};
Saída esperada:
long[] expected = new long[] {};
Explicação
Ambas as linhas estão vazias, então não há inteiros para adicionar.
Referências
Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.