Διαδρομές
/
Clojure
Clojure
/
Ασκήσεις
/
Ισοπέδωση Πίνακα
Ισοπέδωση Πίνακα

Ισοπέδωση Πίνακα

Μέτριο

Εισαγωγή

Ένα φορτίο με εφόδια έκτακτης ανάγκης έχει φτάσει, αλλά υπάρχει ένα πρόβλημα. Για να προστατευτούν από ζημιές, τα είδη, φακοί, κιτ πρώτων βοηθειών, κουβέρτες, είναι συσκευασμένα μέσα σε κουτιά, και μερικά από αυτά τα κουτιά είναι εμφωλευμένα πολλά στρώματα βαθιά μέσα σε άλλα κουτιά!

Για να είσαι έτοιμος για μια έκτακτη ανάγκη, τα πάντα πρέπει να είναι εύκολα προσβάσιμα σε ένα κουτί. Μπορείς να ξεπακετάρεις όλα τα εφόδια και να τα βάλεις σε ένα μόνο κουτί, ώστε να είναι έτοιμα όταν τα χρειαστείς περισσότερο;

Οδηγίες

Πάρε έναν εμφωλευμένο πίνακα οποιουδήποτε βάθους και επέστρεψε έναν πλήρως ισιωμένο πίνακα.

Σημείωσε ότι ορισμένες γλώσσες μπορεί να περιλαμβάνουν τιμές που μοιάζουν με null στον πίνακα εισόδου, και ο τρόπος με τον οποίο αναπαρίστανται αυτές οι τιμές ποικίλλει ανά γλώσσα. Τέτοιες τιμές θα πρέπει να εξαιρούνται από τον ισιωμένο πίνακα.

Επιπλέον, η είσοδος μπορεί να είναι διαφορετικού τύπου δεδομένων και να περιέχει διαφορετικούς τύπους, ανάλογα με τη γλώσσα.

Έλεγξε τη σουίτα δοκιμών για λεπτομέρειες.

Παράδειγμα

είσοδος: [1, [2, 6, null], [[null, [4]], 5]]

έξοδος: [1, 2, 6, 4, 5]

Παράρτημα

Note

Οι παραπάνω οδηγίες είναι συγχρονισμένες με ένα κοινόχρηστο αποθετήριο, ώστε να διασφαλίζεται η συνέπεια σε όλες τις γλωσσικές διαδρομές. Αυτό το παράρτημα παρέχει πρόσθετες διευκρινίσεις ή τροποποιεί τις οδηγίες όπως χρειάζεται, ώστε να ευθυγραμμίζονται καλύτερα με τους στόχους της διαδρομής Clojure.

Γι' αυτή την άσκηση στη διαδρομή Clojure, μπορείς να υποθέσεις ότι η είσοδος είναι οποιοσδήποτε εμφωλευμένος συνδυασμός διανυσμάτων και ότι η έξοδος είναι ένα διάνυσμα, όπως υποδεικνύουν τα tests. Ωστόσο, αυτό δεν είναι αυστηρή απαίτηση· μπορείς ελεύθερα να υποθέσεις ότι η είσοδος είναι οποιοσδήποτε εμφωλευμένος συνδυασμός ακολουθιακών δομών (λίστες, διανύσματα κ.λπ.) και ότι η έξοδος είναι μια ακολουθία.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Clojure Exercism

Έτοιμος να ξεκινήσεις την άσκηση Ισοπέδωση Πίνακα;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Clojure με 12 έννοιες105 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.