El método más eficiente para verificar el rango de números dentro del número sin duplicados

Dado un númeron , un número mínimomin , un número máximomax , cuál es el método más eficiente para determinar

Númeron está o no está dentro del rango, incluido,min - max

Númeron contiene o no números duplicados

Eficiencia significa aquí que el método o conjunto de métodos requiere la menor cantidad de recursos computacionales y devuelvetrue ofalse en la menor cantidad de tiempo

Contexto: Condición enif Dentro de unfor bucle que podría requerir de miles a cientos de miles de iteraciones para devolver un resultado; donde se requieren milisegundos para regresartrue ofalse en cuanto aNumber la verificación podría afectar el rendimiento

AProfiles panel enDevTools en una colección de71,3307 artículos iterados,RegExp a continuación se enumeró como utilizando27.2ms del total1097.3ms para completar el bucle. En una colección de836,7628 artículos iteradosRegExp abajo usado193.5ms dentro del total de11285.3ms .

Requisito: método más eficiente para volverBoolean true ofalse dados los parámetros anteriores, dentro de la menor cantidad de tiempo.

Nota: la solución no tiene que limitarse aRegExp ; se utiliza a continuación como el patrón devolvió los resultados esperados

Actualjs utilizandoRegExp re , RegExp.protype.test()

var min = 2
, max = 7
, re = new RegExp("[" + min + "-" + max + "](.)(?!=\1)", "g")
, arr = [81, 35, 22, 45, 49];

for (var i = 0; i < arr.length; i++) {
  console.log(re.test(arr[i]), i, arr[i])
    /*
      false 0 81 
      true 1 35
      false 2 22
      true 3 45
      false 4 49 
    */
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta