Sobes.tech
Middle

On arv massiiv numbreid, millest mõned korduvad. Tuleb koostada uus massiiv ilma kordusteta, säilitades numbrite järjekorra. Kuidas lahendada see ülesanne ilma Set kasutamata?

sobes.tech AI

Vastus AI-lt

Saate läbida algse massiivi ja iga elemendi puhul kontrollida, kas see on juba varem nähtud, kasutades täiendavat objekti (sõnastikku), kuhu salvestada juba nähtud numbrid. Kui number on uus, lisage see tulemusele.

Näide JavaScriptis:

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]

Sel viisil säilitatakse järjekord ning eemaldatakse kordused ilma Set kasutamiseta.