Επισκέπτης Δημοσ. 22 Μαΐου 2020 Δημοσ. 22 Μαΐου 2020 (επεξεργασμένο) Έχω αυτο το προβλημα: Suppose we are given a sequence S of n elements, each of which is colored red or blue. Assuming S is represented as an array, give an in-place method for ordering S so that all the blue elements are listed before all the red elements. Can you extend your approach to three colors? Το εχω υλοποιηση για τα 2 χρωματα: shuffle(S[0..N-1]): pos_red = N-1; // After this position, all the elements will always be red. i = 0 while (i < pos_red): // if element is red, swap it with the element pointed by pos_red if color(A[i])='Red': swap(A[i], A[pos_red]) // reduce the next red position by 1 pos_red = pos_red - 1 else // proceed to next element i = i+1 Πως θα γινοταν για 3, εχω μπερδευτεί? Επεξ/σία 22 Μαΐου 2020 από Επισκέπτης
k33theod Δημοσ. 23 Μαΐου 2020 Δημοσ. 23 Μαΐου 2020 (επεξεργασμένο) λάθος sorry Επεξ/σία 23 Μαΐου 2020 από k33theod
kaliakman Δημοσ. 23 Μαΐου 2020 Δημοσ. 23 Μαΐου 2020 Για τον μελλοντικό αναγνώστη μιας και ο φίλος δεν φαίνεται να πρόκειται να δείξει τι έκανε: Dutch National Flag 2
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα