¡Pregunta de entrevista en JavaScript!

preview_player
Показать описание
🔥 ¡Desafío de programación en JavaScript!

Esta pregunta de entrevista es un clásico, ya que deberás demostrar una mínima lógica de programación y saber recorrer bucles.

Se trata de encontrar la suma más grande entre dos números adyacentes en un array de números enteros desordenados.

En este código, utilizo un bucle for para recorrer el array y calcular la suma de cada par adyacente de números. Luego, actualizo la variable maxSum con el valor máximo obtenido en cada iteración.

Usamos el infinito negativo para asegurarnos de que la variable maxSum siempre tenga un valor inicial menor que cualquier suma posible.

Este desafío te permite practicar tus habilidades en JavaScript y poner a prueba tu lógica.

¿Te animas a intentarlo tú también? ¡Déjame saber en los comentarios cómo lo resolviste!

Si te gusta este contenido, me ayudas mucho si lo compartes y dejas tu ❤️.
Рекомендации по теме
Комментарии
Автор

Que solución más Senior, se nota la confianza y seguridad de una persona que tiene más de 15 años de exp

husdadymena
Автор

Lo hermoso de la programación. Cada que logro resolver esos pequeños ejercicios de lógica, se siente una satisfacción unica 😍

alejandrorios
Автор

Si, siempre preguntan esas boludeces pero nunca son problemas de la vida real

pguti
Автор

En python, de forma recursiva:

def max_adj_sum(nums: list[int]):
match nums:
case [n1, n2, *rest]:
return max(n1 + n2, max_adj_sum([n2, *rest]))
case _:
return 0

greyshopleskin
Автор

Requisitos: no uses if
Solución: usa la función de una librería que internamente usa el if, pero que tú no lo ves porque solo usas la función, y su funcionamiento es transparente para el usuario

arturorosas
Автор

cuando fui estudiante en los 5 lugares donde trabaje, jamas me hicieron tales preguntas en una entrevista, simplemente me traian errores reales en algun codigo y decian que los resuelva...

matsueokazaki
Автор

Yo me siento muy jr sin su primer empleo, pero lo resolvi de otra manera más básica:
El array original lo mapeo a otro en el que a cada elemento (número) del array le sumo el valor del índice siguiente (chequeo que esta suma no de "NaN"). Luego, teniendo el nuevo array con los valores sumados, simplemente aplico un "Math.max" al spread del nuevo array y obtengo el resultado.
Me puso contento poder resolverlo, pero no creo que hubiera podido hacerlo de la manera que se muestra en el video.
Gracias por el aporte, Midu.

julianp
Автор

Okey, si entendi bien el -Infinity es para asegurarse de tener el valor mas pequeño posible teniendo en cuenta los negativos, por que si iniciamos el maxSum en 0 no estaran cobtenolados los negativo s

fredyholguin
Автор

Mi solucion en python aplicando list comprehesion de forma sencilla de leer

def max_adjacent_sum(numbers: list[int]) -> int:
max_sum = max(numbers[i] + numbers[i+1] for i in range(len(numbers)-1))
return max_sum

Saludos

arianaromero
Автор

Yo lo hubiese hecho, ya que vengo de otros lenguajes sin Infinity, asignando maxSum = array[0] + array[1] y empezar a iterar desde el segundo elemento, y eliminas una iteración.

luisgmzz_
Автор

Cómo hago para decirle que nesesito googlear adyacente al

danscrip
Автор

Se nota la confianza y la experiencia por como plantea el ejercicio.
Algún/algunos libros que recomienden para aprender a programar de 0 a expert?

Saludos.

emmanuelwagner
Автор

En verdad he hecho aplicaciones, autentificaciones de usuario, tienda virtual, bases de datos, usos de chatgpt, descargas, manejo de archivos, mensajes de correo, manejos de dinero, de todo un poco... Backend, frontend y nunca he necesitado saber responder algo como esto, pero aún así... Si me hubieran hecho la pregunta, no lo paso 😢, por esta razón es que a pesar de haber hecho tanta cosa aun no me animo a buscar trabajo😢

LeotheProdu
Автор

Yo declararía el valor maximo como la primera suma, si hay otra mayor que se cambio a través del if o del math.max

juliansalamanca
Автор

El unico problema que veo es que en el for en cada iteración se está creando una variable, lo mejor es declararla por fuera del for y como let.

Gamer-tbrf
Автор

He tardado menos de 5 min, llevo poco tiempo aprendiendo, estoy contento

codesthenos
Автор

let resultado=-infinity
array.reduce((acc, valor, i)=>{
let max=Math.max(resultado, valor+array[i+1])
resultado= isNaN(max)?resultado:max
return resultado
})

joselltemes
Автор

Me pone triste no saber como resolver esto😢

jolujs
Автор

Hasta 3 días enteros hendiéndome practicando resolver esos ejercicios

sebastianlozano
Автор

cierro la pagina y voy por la siguiente entrevista

pablomedina