Saltar al contenido principal
leetcode_319: Interruptor de bombillas

Título

Enlace: Interruptor de bombillas

Al principio, hay n bombillas apagadas.
En la primera ronda, enciendes todas las bombillas. En la segunda ronda, apagas cada dos bombillas. En la tercera ronda, cambias el estado de cada tres bombillas (si están apagadas, las enciendes; si están encendidas, las apagas).
En la i-ésima ronda, cambias el estado de cada i bombillas. En la última ronda, solo cambias el estado de la última bombilla.
Encuentra cuántas bombillas están encendidas después de n rondas.


init-qyAlrededor de 2 minaritméticaleetcodearitmética
0x5f375a86 es un número mágico.

En una coincidencia fortuita, me encontré con este número hexadecimal mágico 0x5f3759df y decidí tomar nota de ello.

La ciencia cambia el mundo, las matemáticas cambian la ciencia.

La última vez me encontré con un número irracional, 0.75, que aparece en el código fuente de Java HashMap y representa el factor de carga predeterminado. Permíteme explicarte brevemente el significado de este valor: cuando la capacidad de HashMap alcanza el 75% de su capacidad total (es decir, cuando hay 12 elementos en una capacidad de 16), se realiza una operación de redimensionamiento para reducir las colisiones de hash y evitar que HashMap se degrade a una lista enlazada, lo que aumentaría significativamente el tiempo de búsqueda. ¿Por qué se eligió el valor 0.75? La explicación es bastante simple: es un compromiso entre la utilización eficiente del espacio y la reducción de los costos de búsqueda, basado principalmente en la distribución de Poisson, y 0.75 minimiza las colisiones.


init-qyAlrededor de 4 minaritméticaby-talkaritmética