Sobes.tech
Middle

Υπάρχει ένας πίνακας αριθμών, μερικοί από τους οποίους επαναλαμβάνονται. Πρέπει να δημιουργήσετε έναν νέο πίνακα χωρίς επαναλήψεις, διατηρώντας τη σειρά των αριθμών. Πώς λύνετε το πρόβλημα χωρίς να χρησιμοποιήσετε Set;

sobes.tech AI

Απάντηση από AI

Μπορείτε να διασχίσετε τον αρχικό πίνακα και, για κάθε στοιχείο, να ελέγξετε αν έχει ήδη εμφανιστεί προηγουμένως, χρησιμοποιώντας ένα επιπλέον αντικείμενο (λεξικό) για την αποθήκευση των ήδη συναντημένων αριθμών. Αν ο αριθμός είναι νέος, τον προσθέτετε στο αποτέλεσμα.

Παράδειγμα σε JavaScript:

function uniqueArray(arr) {
  const seen = {};
  const result = [];
  for (const num of arr) {
    if (!seen[num]) {
      seen[num] = true;
      result.push(num);
    }
  }
  return result;
}

const input = [1, 2, 3, 2, 4, 1, 5];
console.log(uniqueArray(input)); // [1, 2, 3, 4, 5]

Έτσι διατηρείται η σειρά και απομακρύνονται οι επαναλήψεις χωρίς τη χρήση Set.