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

291
Visualizações
Calcular una puntuación alfabética para una palabra

¿Cómo puedo generar una puntuación numérica para una cadena, que luego puedo usar para ordenar las cosas alfabéticamente?

(Me gustaría agregar objectIds a un conjunto ordenado redis basado en una propiedad de nombre. Esto necesita un puntaje numérico. Mi lista de cosas puede ser demasiado grande para ordenarlas todas a la vez, por lo tanto, quiero calificar cada elemento individualmente)

Las palabras anteriores en una lista alfabética deben tener una puntuación más baja, con 'a' = 0 .

Mi enfoque ingenuo hasta ahora; (posición alfabética de la letra de Reemplazar una letra con su posición alfabética )

 function alphaScoreString(inputString) { let score = 0 inputString .trim() .toLowerCase() .split('') .map((letter, index) => { const letterNumber = parseInt(letter, 36) - 10 if (letterNumber >= 0) { score += letterNumber / (index + 1) } }) return score * 1000 }

Esto no funciona, como

 alphaScoreString('bb') 1500 alphaScoreString('bc') 2000 alphaScoreString('bbz') 9833.333333333334

Puede ver que 'bbz' tiene una puntuación más alta que 'bc', mientras que debería ser más baja, ya que 'bbz' vendría antes que 'bc' en una lista alfabética.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede convertir cada carácter a su Unicode (y asegurarse de que cada carácter tenga 4 dígitos rellenando la cadena. Por ejemplo, "H" = 72 pero se rellena a 0072: al hacer una comparación palabra por palabra, aún puede determinar el "orden alfabético" de cada cadena:

 var instring = "Hello World"; var output = ""; for(i=0; i<instring.length;i++){ const newchar = String(instring.charCodeAt(i)).padStart(4, '0'); output = output.concat(newchar) console.log(output); }
about 4 years ago · Juan Pablo Isaza Relatório

0

Answer writen in python. char_codex = {'a':0.01, 'b':0.02, 'c':0.03, 'd':0.04, 'e':0.05, 'f':0.06, 'g':0.07, 'h':0.08, 'i':0.09, 'j':0.10, 'k':0.11, 'l':0.12, 'm':0.13, 'n':0.14, 'o':0.15, 'p':0.16, 'q':0.17, 'r':0.18, 's':0.19, 't':0.20, 'u':0.21, 'v':0.22, 'w':0.23, 'x':0.24, 'y':0.25, 'z':0.26} def alphabetic_score(word): bitwiseshift = '1' scores = [0.00] * len(word) for index, letter in enumerate(word.lower()): if index is 0: scores[index] = char_codex[letter] else: bitwiseshift = bitwiseshift+'00' scores[index] = char_codex[letter]/int(bitwiseshift) return sum(scores)
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