Fabricated Δημοσ. 18 Απριλίου 2018 Δημοσ. 18 Απριλίου 2018 Καλησπέρα , έχω μια άσκηση στην οποία παίρνω έναν πίνακα έτοιμο (π.χ. μεγέθους 10) και στην συνέχεια φτιάχνω έναν καινούργιο που δεν περιέχει 2η φορά τον ίδιο αριθμό,π.χ. 6 θέσεων στην περίπτωση που υπάρχουν 4 φορές ίδιοι αριθμοί. Η ερώτηση μου είναι , μπορώ να δηλώσω έναν πίνακα που δεν ξέρω το μέγεθος του; Δηλαδή αν ο πίνακας των 10 θέσεων αλλάξει μπορεί ας πούμε ο νέος πίνακας να έχει 8 θέσεις. Άρα εγώ τον νέο πως θα τον δηλώσω ; με μεταβλητή ; έχω καταλάβει ότι δεν δηλώνουμε πίνακα με μεταβλητή αφού πρέπει να γνωρίζω εξ αρχής το μέγεθος του. Επίσης αν υπάρχει κάποιος γρήγορος τρόπος να φτιάξω τον νέο μπορείτε να μου τον περιγράψετε ; Εγώ σκέφτηκα έναν , όπου μηδενιζω τα στοιχεία που εμφανίζονται πολλές φορές (εκτός από την 1η φορα) και στην συνέχεια περνάω όλα τα στοιχεία εκτός από τα μηδενικά στον νέο πίνακα. (Μόνο θέμα είναι το 0, που αν υπάρχει εξ αρχής δεν περνιεται στον νέο)
albNik Δημοσ. 18 Απριλίου 2018 Δημοσ. 18 Απριλίου 2018 8 λεπτά πριν, Fabricated είπε έχω καταλάβει ότι δεν δηλώνουμε πίνακα με μεταβλητή αφού πρέπει να γνωρίζω εξ αρχής το μέγεθος του. Δεν ισχύει στη Java. Θα υπολογισεις τη μεταβλητή και θα ορίσεις το μέγεθος του πίνακα μετά. int[] arr; int s = countDistinct(); arr = new int[s];
Fabricated Δημοσ. 18 Απριλίου 2018 Μέλος Δημοσ. 18 Απριλίου 2018 CountDistrinct ; μπορώ εκεί να βάλω έναν αριθμό ας πούμε ; Άρα μπορεί και ο χρήστης να δίνει το μέγεθος του πίνακα ;
bahamut_zero Δημοσ. 21 Απριλίου 2018 Δημοσ. 21 Απριλίου 2018 (επεξεργασμένο) με arraylist δεν παιζει; δλδ να ορισεις ενα, και στην συνεχεια να τρεξεις τον πινακα σου, κι ο,τι καινουργιο(unique) βρισκεις να το βαζεις στο arraylist. Νομιζω εχει και πολυπλοκοτητα Ο(n) αρκει ενα περασμα του πινακα, αλλα ισως κανω λαθος. Επεξ/σία 21 Απριλίου 2018 από bahamut_zero
Fabricated Δημοσ. 21 Απριλίου 2018 Μέλος Δημοσ. 21 Απριλίου 2018 Υποθέτω εννοείς κάτι με λίστες , που δεν έχουμε κάνει ακόμα οπότε φεύγει αυτή η επιλογή. Το έλυσα πάντως, Ευχαριστώ !
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα