Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

606
Vistas
Encuentre tiempo para escribir un número en una cifra

escriba una función para calcular la cantidad de milisegundos necesarios para escribir un número con un dedo en javaScript

Estoy tratando de resolver esta pregunta, pero no tengo idea de cómo puedo resolver este problema.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

si entiendo bien los comentarios aqui esta la respuesta

 function calcTime (digits, num ){ const digits_arr = Array.from(digits); let last_index = 0, new_index, time =0; for (const n of num) { new_index =digits_arr.findIndex(x => x===n); time += Math.abs(new_index - last_index); last_index = new_index; } return time; }

ejemplo: Entrada: dígitos = "0123456789", num = "201" Salida: 4

about 4 years ago · Juan Pablo Isaza Denunciar

0

Amigo, supongo que no tuviste mucho tiempo para explicar lo que estabas tratando de resolver. Pero de todos modos me encontré con esta publicación porque estaba tratando de entender cómo comenzar a resolver el problema que encontré y gracias a @AbdelazizAlsabagh finalmente entendí el truco con los índices. Estoy publicando el problema completo para resolver (pero aún no he probado la solución, lo actualizaré más tarde):

Generador de números

Un teclado de solo dígitos contiene los 10 dígitos del 0 al 9. Todos existen en una línea. Proporcione una cadena de 10 dígitos que ilustre cómo se colocan las teclas. Para escribir un dígito, comience desde el índice cero hasta el índice del dígito de destino. Se necesita |a - b| milisegundos para pasar del índice a al índice b.

Escribe una función para calcular la cantidad de milisegundos necesarios para escribir un número con un dedo.

Entrada : dígitos = '0123456789', número = '210

Salida : 4

Entrada : dígitos = '8459761203', número = '5439'

Salida : 17

Restricciones:

  • dígitos.longitud == 10
  • dígitos contiene cada dígito [0-9] exactamente uno en algún orden
  • 1 <= num.longitud <= 10e4
  • num[i] es un dígito
 def number_gen_idx(digits: str, nums: str) -> str: """ >>> number_gen_idx('0123456789', '210') 4 >>> number_gen_idx('8459761203', '5439') 17 """ digits_idx = defaultdict(int) for idx, digit in enumerate(digits): digits_idx[digit] = idx curr_ptr = 0 result = 0 for digit in nums: result += abs((digits_idx[digit] - curr_ptr)) curr_ptr = digits_idx[digit] return result
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda