Einfach 0 gelöst 0% Erfolgsquote

Flatten a 2D Array

Combine the rows of a 2D integer array into one array.

Das lernst du

  • Über Zeilen und Spalten iterieren
  • Werte an eine einzige Liste anhängen
  • Die ursprüngliche Reihenfolge erhalten

Problem

Combine the rows of a 2D integer array into one array. Read rows from top to bottom and integers within each row from left to right. Skip empty rows. Preserve repeated integers and their order. Rows may have different lengths. There are exactly two array levels: rows contain only integers, with no null values or deeper lists.

Implement flatten_nested_list(values).

Input

values: The integer rows to combine, in order.

Output

Return all integers in row order. Return an empty array if there are no integers.

Einschränkungen

0 ≤ number of rows ≤ 10,000. At most 10,000 integers in total. Each integer is between −1,000,000,000 and 1,000,000,000. Rows may be empty or have different lengths.

Beispiele

Beispiel 1
Eingabe:
values = [
    [1, 2],
    [],
    [3, 4]
]

Erwartete Ausgabe:
expected = [1, 2, 3, 4]
Eingabe:
std::vector<std::vector<long long>> values = {
    {1, 2},
    {},
    {3, 4}
};

Erwartete Ausgabe:
std::vector<long long> expected = {1, 2, 3, 4};
Eingabe:
long[][] values = new long[][] {
    new long[] {1, 2},
    new long[] {},
    new long[] {3, 4}
};

Erwartete Ausgabe:
long[] expected = new long[] {1, 2, 3, 4};

Erläuterung

Read 1 and 2 from the first row. Skip the empty second row. Append 3 and 4 from the last row.

Beispiel 2
Eingabe:
values = [
    [],
    []
]

Erwartete Ausgabe:
expected = []
Eingabe:
std::vector<std::vector<long long>> values = {
    {},
    {}
};

Erwartete Ausgabe:
std::vector<long long> expected = {};
Eingabe:
long[][] values = new long[][] {
    new long[] {},
    new long[] {}
};

Erwartete Ausgabe:
long[] expected = new long[] {};

Erläuterung

Both rows are empty, so there are no integers to append.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Gehe die Zeilen der Reihe nach durch und hänge jede gefundene Ganzzahl an.

Hinweis 2

Leere Zeilen tragen nichts bei, aber die Reihenfolge aller Werte aus nichtleeren Zeilen bleibt erhalten.

Hinweis 3

Die Eingabe ist nur zwei Ebenen tief, daher ist keine rekursive Flattening-Logik nötig.

Erwartete Komplexität

Zeit O(n), zusätzlicher Speicher O(n)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.