Cómo mejoro este algoritmo simple? - JavaScript

desu
#30Soulscx:

Y todas tus propuestas no hacen más q complicar un problema muy sencillo de resolver.

Bienvenido al mundo real.

En el mundo real cuando tienes una lista infinita es porque esta creciendo constantemente y no tienes tiempo de iterarla nunca. tienes que trabajar con algoritmos de aproximacion.

Le he puesto un par de ejemplos de como se soluciona este problema en caches, dbs y monitores.

Es lo que yo preguntaria en una entrevista. Si no sabes resolver lo que he puesto en #26 vete a otro lado a hacer tus algoritmos "O(n)" que no valen para nada. Haz mas leetcode y puedes entrar en una FAANG a alinear divs por 100k anuales. Dudo que hagas algo que valga la pena con ese toque.

Cuando haces la big o estas tirando la n SIEMPRE a infinito, en este caso tenemos una lista infinitamente grande. En el mundo real esto es una lista que crece tan rapido que no la puedes iterar. No quitas elementos. Por si aun no lo pillas. O tienes una db distribuida infinitamente grande... pero yo he tirado por la cache (primera capa).

Estamos suponiendo que mantienes el orden de iteracion. Si has iterado [0-d] donde d < N, ese rango no cambiara nunca. Donde esto podria ser mediante tener varias listas (que es lo normal para alocar bloques de fixed size). Pero vamos, espero que se haya entendido.

Usuarios habituales