Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

610
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!