Δεδομένων δύο λιστών A και B, προσδιόρισε αν:
A είναι equal με τη λίστα B, ήA περιέχει τη λίστα B (η A είναι superlist της B), ήA περιέχεται από τη λίστα B (η A είναι sublist της B), ήA και B είναι unequalΣυγκεκριμένα, η λίστα A είναι equal με τη λίστα B αν και οι δύο λίστες έχουν τις ίδιες τιμές στην ίδια σειρά. Η λίστα A είναι superlist της B αν η A περιέχει μια συνεχόμενη υποακολουθία τιμών ίσων με τη B. Η λίστα A είναι sublist της B αν η B περιέχει μια συνεχόμενη υποακολουθία τιμών ίσων με τη A.
Παραδείγματα:
A = [] και B = [] (και οι δύο λίστες είναι κενές), τότε οι A και B είναι equalA = [1, 2, 3] και B = [], τότε η A είναι superlist της B
A = [] και B = [1, 2, 3], τότε η A είναι sublist της B
A = [1, 2, 3] και B = [1, 2, 3, 4, 5], τότε η A είναι sublist της B
A = [3, 4, 5] και B = [1, 2, 3, 4, 5], τότε η A είναι sublist της B
A = [3, 4] και B = [1, 2, 3, 4, 5], τότε η A είναι sublist της B
A = [1, 2, 3] και B = [1, 2, 3], τότε οι A και B είναι equalA = [1, 2, 3, 4, 5] και B = [2, 3, 4], τότε η A είναι superlist της B
A = [1, 2, 4] και B = [1, 2, 3, 4, 5], τότε οι A και B είναι unequalA = [1, 2, 3] και B = [1, 3, 2], τότε οι A και B είναι unequalΟ τύπος
Ordering
έχει τρεις κατασκευαστές, LT ("μικρότερο από"), EQ ("ίσο") και GT ("μεγαλύτερο από"). Αυτά μπορούν να αναπαραστήσουν τη διάταξη υπολίστας με το Just LT να σημαίνει "υπολίστα", και ούτω καθεξής, και το Nothing να σημαίνει ότι δεν είναι υπολίστα, υπερλίστα ή ίση.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Haskell με 107 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.