Ορισμός ασυμφωνίας χρησιμοποιώντας Python | Aman Kharwal
April 12, 2023Το Set Mismatch είναι μια δημοφιλής ερώτηση κωδικοποίηση συνεντεύξεων. Σε αυτό το πρόβλημα, πρέπει να βρείτε δύο αριθμούς σε έναν πίνακα που λείπουν ή είναι διπλότυποι. Έτσι, εάν θέλετε να μάθετε πώς να λύσετε αυτό το πρόβλημα χρησιμοποιώντας την Python, αυτό το άρθρο είναι για εσάς. Σε αυτό το άρθρο, θα σας μάθω πώς να ορίσετε την ασυμφωνία χρησιμοποιώντας Πύθων.
Ορίστε πρόβλημα αναντιστοιχίας
Στο πρόβλημα Set Mismatch, θα σας δοθεί ένας πίνακας θετικών ακεραίων με ορισμένα στοιχεία που λείπουν ή είναι διπλά. Πρέπει να αναγνωρίσετε και να επιστρέψετε τους αριθμούς που λείπουν και τους διπλότυπους για να λύσετε αυτό το πρόβλημα.
Ακολουθεί ένα παράδειγμα των τιμών εισόδου και εξόδου αυτού του προβλήματος:
- Εισαγωγή: [1, 2, 3, 4, 4, 6] | Παραγωγή: [5, 4]
Σε αυτό το παράδειγμα, ο αριθμός που λείπει είναι το 5, καθώς είναι ο μόνος θετικός ακέραιος από το 1 έως το 6 που δεν υπάρχει στον πίνακα και ο διπλότυπος αριθμός είναι 4, καθώς εμφανίζεται δύο φορές.
Ορίστε το Mismatch χρησιμοποιώντας Python
Ελπίζω να καταλάβατε τι σημαίνει το πρόβλημα Set Mismatch. Τώρα δείτε πώς μπορείτε να λύσετε αυτό το πρόβλημα χρησιμοποιώντας την Python:
def findErrorNums(nums): n = len(nums) duplicate = -1 for num in nums: if nums[abs(num) - 1] < 0: duplicate = abs(num) else: nums[abs(num) - 1] *= -1 missing = -1 for i in range(n): if nums[i] > 0: missing = i + 1 return [duplicate, missing] nums = [1,2,2,4] print(findErrorNums(nums))
Output: [2, 3]
Η παραπάνω συνάρτηση επαναλαμβάνεται μέσω του πίνακα δύο φορές. Στην πρώτη επανάληψη, επισημαίνει τον διπλό αριθμό ως αρνητικό πολλαπλασιάζοντας την τιμή του επί -1. Στη δεύτερη επανάληψη, βρίσκει τον αριθμό που λείπει ελέγχοντας για θετικό αριθμό με δείκτη που είναι ένας περισσότερος από τον αριθμό που λείπει. Στο τέλος, επιστρέφει τον διπλό αριθμό και τον αριθμό που λείπει ως πίνακα.
Έτσι μπορείτε να λύσετε το πρόβλημα Set Mismatch χρησιμοποιώντας Python. Μπορείτε να βρείτε πολλές ακόμα ερωτήσεις πρακτικής για συνεντεύξεις κωδικοποίησης λυμένες και επεξηγημένες χρησιμοποιώντας Python εδώ.
Περίληψη
Στο πρόβλημα Set Mismatch, θα σας δοθεί ένας πίνακας θετικών ακεραίων με ορισμένα στοιχεία που λείπουν ή είναι διπλά. Πρέπει να αναγνωρίσετε και να επιστρέψετε τους αριθμούς που λείπουν και τους διπλότυπους για να λύσετε αυτό το πρόβλημα. Ελπίζω να σας άρεσε αυτό το άρθρο σχετικά με τον τρόπο επίλυσης του προβλήματος Set Mismatch χρησιμοποιώντας την Python. Μη διστάσετε να κάνετε πολύτιμες ερωτήσεις στην παρακάτω ενότητα σχολίων.