Los siguientes son los dos enfoques para generar una array que contiene n número de números aleatorios que no se repiten .
- Usando el bucle do-while y la función include().
- Usando un conjunto y comprobando con su tamaño.
Usando el ciclo do-while y la función include(): Aquí, la función include() verifica si un elemento está presente en la array o no.
Nombre de archivo: index.js
JavaScript
// You can take this value from user const n = 5 // Initial empty array const arr = []; // Null check if (n == 0) { console.log(null) } do { // Generating random number const randomNumber = Math .floor(Math.random() * 100) + 1 // Pushing into the array only // if the array does not contain it if (!arr.includes(randomNumber)) { arr.push(randomNumber); } } while (arr.length < n); // Printing the array elements console.log(arr)
Ejecute el archivo index.js con el siguiente comando:
node index.js
Producción:
[ 49, 99, 27, 86, 69 ]
Complejidad del tiempo:
O(n2)
Usando un conjunto y comprobando con su tamaño: Recuerda que un conjunto no admite elementos duplicados.
Nombre de archivo: index.js
JavaScript
// You can take this value from user const n = 5 // Initial empty array const arr = []; // Null Check if (n == 0) { console.log(null) } let randomnumbers = new Set, ans; // We keep adding elements till // size of set is equal to n while (randomnumbers.size < n) { // Generating random number // and adding it randomnumbers.add(Math.floor( Math.random() * 100) + 1); } // Copying set elements into // the result array ans = [...randomnumbers]; // Printing the array console.log(ans)
Ejecute el archivo index.js con el siguiente comando:
node index.js
Producción:
[ 52, 32, 50, 59, 95 ]
Complejidad del tiempo:
O(n)
Publicación traducida automáticamente
Artículo escrito por dikshapatro y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA