Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

609
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda