Υπολογίστε για κάθε νόμισμα τη διαφορά μεταξύ της μεγαλύτερης και της μικρότερης παραγγελίας τύπου DELIVERY. Επιστρέψτε το αποτέλεσμα για κάθε νόμισμα. Τα νομίσματα πρέπει να είναι ταξινομημένα με αύξουσα σειρά αυτής της διαφοράς. /** * Επιστρέφει έναν χάρτη τύπου {νόμισμα (σε αύξουσα σειρά της διαφοράς) – διαφορά μεταξύ της μεγαλύτερης και της μικρότερης παραγγελίας τύπου DELIVERY για το νόμισμα}. * Αν για κάποιο νόμισμα υπάρχει μόνο μια παραγγελία, τότε αυτή είναι και η μεγαλύτερη και η μικρότερη και η διαφορά είναι 0. * Παράδειγμα εισόδου: * [ * Παραγγελία(DELIVERY, "EUR", 2000), * Παραγγελία(DELIVERY, "USD", 15), * Παραγγελία(DELIVERY, "RUB", 200), * Παραγγελία (PICKUP, "RUB", 1250), * Παραγγελία (DELIVERY, "USD", 35), * Παραγγελία (PICKUP, "USD", 55), * Παραγγελία (DELIVERY, "RUB", 100) * ] * * Αναμενόμενο αποτέλεσμα: * ["EUR" -> 0.0, "USD" -> 20.0, "RUB" -> 100.0] * */ Map<String, Double> getMaxMinusMinDeliveryMapByCurrency(List<OrderData> orderDataList) { }
Java
Ποια είναι η ταχύτητα αναζήτησης στο HashMap (μέση και χειρότερη περίπτωση);
Γιατί ορίζουμε το μέγεθος του πρώτου πίνακα (temp) ίσο με το μήκος του εισερχόμενου πίνακα;
Καθήκοντα σε Java 1. Γράψτε την υλοποίηση της μεθόδου: /** * @param a – πίνακας αριθμών, το μήκος του πίνακα μπορεί να είναι μεγαλύτερο από 10 εκατομμύρια. * @return πίνακας αριθμών, χωρίς διπλότυπα. Η σειρά των αριθμών στον αρχικό πίνακα πρέπει να διατηρηθεί. Σε περίπτωση διπλότυπων, πρέπει να διατηρείται το τελευταίο στοιχείο, για παράδειγμα, για {2,1,4,2,3} η σωστή λύση είναι {1,4,2,3}, και όχι {2,1,4,3} Αν υπάρχει ένα στοιχείο μικρότερο από 0 στον πίνακα εισόδου, πρέπει να εμφανίζεται σφάλμα. Για παράδειγμα, για {2,3,-1,5} η επεξεργασία πρέπει να τελειώσει με σφάλμα. */ public static double[] task(double[] a) { }
Μπορεί να κληρονομήσει κανείς enum στη Java;
Τι είναι η σύγκρουση σε HashMap;
Το Throwable είναι κλάση ή διεπαφή;
Πώς λειτουργεί το LEFT JOIN;
Πού μπορεί να προκύψει ακριβώς ένα σφάλμα χωρίς volatile στο Double-Checked Locking;
Ποια είναι η ταχύτητα αναζήτησης σε LinkedList (μέση και χειρότερη περίπτωση);
Μίλησε για τη δομή δεδομένων HashMap
Για ποιο λόγο χρειάζονται δύο πίνακες (temp και result);
Γιατί στον κώδικα η σύγκριση του τύπου παραγγελίας γίνεται μέσω != και όχι μέσω equals;
Ποια είναι η συμφωνία μεταξύ hashCode και equals;
Τι πρέπει να αλλάξει σε αυτόν τον κώδικα ώστε η υλοποίηση του μοτίβου Singleton να είναι σωστή και ασφαλής για νήματα; public class Singleton { private static final Singleton instance; public Singleton() { } public Singleton getInstance() { if (instance != null) { synchronized (instance) { if (instance == null) { instance = new Singleton(); } } } return instance; } }
Τι είναι ένα κόκκινο-μαύρο δέντρο;
Πώς να διορθώσετε το πρόβλημα με το monitor synchronized(instance) όταν το instance == null;
Πες μου για το API Stream — τι είναι και πώς το χρησιμοποιείτε
Πώς θα μπορούσε να έχει τροποποιηθεί η λύση χρησιμοποιώντας 1 συλλογή αντί για 2 (seen και temp);
Πείτε για την ιεραρχία εξαιρέσεων στη Java