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

396
Visualizações
si dos palabras dadas son sinónimos o no

En esta tarea, su trabajo será escribir un programa que pueda decidir si dos palabras son sinónimos o no. Obtendrá un diccionario de sinónimos que describe pares de palabras sinónimas. Luego, responderá varias consultas sobre si dos palabras dadas son sinónimos o no. Tanto el diccionario de pares de sinónimos como las consultas para su programa se incluirán en el archivo de entrada.

Usa las siguientes reglas para decidir:

  1. Si el par de palabras se declara como sinónimo en la entrada, entonces son sinónimos.
  2. Ser sinónimos no depende del orden, por ejemplo, si grande es sinónimo de grande, entonces grande es sinónimo de grande.
  3. Podemos derivar la relación de sinónimos indirectamente: si grande es sinónimo de grande y grande es sinónimo de enorme, entonces grande es sinónimo de enorme.
  4. Si dos palabras difieren sólo en el caso, son sinónimos, por ejemplo, mismo es un sinónimo tanto para SAmE, SAME como para mismo (sí mismo).
  5. Si ninguna de las reglas anteriores se puede usar para decidir si dos palabras son sinónimos, entonces no lo son.

Aporte :

La entrada comienza con un número de casos de prueba T (0 < T < 100). Cada caso de prueba comienza con una línea que contiene un solo número N (0 N s 100), la longitud de un diccionario de sinónimos. En cada una de las siguientes N líneas, hay exactamente un par de sinónimos separados por un solo espacio. La siguiente línea contiene un solo número Q (0 Q 100) — número de consultas. Cada una de las siguientes líneas contiene un par de palabras de consulta separadas por un solo espacio. Cada palabra se compone únicamente de letras del alfabeto inglés ([a-zA-Z]) y tiene una longitud máxima de 20 caracteres.

Producción :

Para cada par de palabras de consulta, se generan sinónimos de cadena o diferentes .

Entrada de muestra

 2 4 big large large huge small little apple banana 6 same same big huge huge big apple peach big tall peach PEACH 5 wood FORest meadoW PrAirIe WOOD Lumber lumber forest lumber forest 2 wood LUMBER mEADOw fire

Salida de muestra

 synonyms synonyms synonyms different different synonyms synonyms different

Explicación del problema de ejemplo.

En el primer caso de prueba hay 6 consultas:

  1. Las palabras son las mismas.
  2. Las palabras son sinónimos derivados.
  3. Simétrica a la segunda consulta.
  4. No se puede usar ninguna regla para derivar el par de sinónimos.
  5. No se puede usar ninguna regla para derivar el par de sinónimos, aunque sean sinónimos en inglés.
  6. Las palabras difieren solo en mayúsculas y minúsculas. 2do caso de prueba:
  7. Definidos como sinónimos por la 3ra regla. El caso no importa.
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

La Universidad de Harvard y Google en 2010 estimaron un total de 1.022.000 palabras y que el número crecería en varios miles cada año.

Entonces, lógicamente, su código debe conocerlos todos para poder funcionar correctamente. Dicha base de datos de palabras, sus enlaces y métodos de acceso son proporcionados por API externas. Su aplicación debe buscar sinónimos utilizando una de estas API.

Éstos son algunos de ellos-

https://openbase.com/categories/js/best-nodejs-dictionary-api-libraries

about 4 years ago · Juan Pablo Isaza Relatório

0

No hay una función integrada en Node para probar si alguna palabra es un sinónimo o no. Pero (afortunadamente) hay algunas bibliotecas para hacer eso.

Aquí hay un ejemplo: Primero, instale el paquete de synonyms de NPM:

 npm i synonyms

Luego, en su archivo JS:

 const synonyms = require("synonyms"); // Import the "synonyms" library const fs = require("fs"); fs.readFile("path/to/file", "utf-8", (err, file) => { // Read the file const lines = file.split("\n"); // Each line is split into an array let result = lines.map(i => { return i.split(" "); }); // "result" holds an array of arrays. Index 0 is word 1 and index 1 is word 2 result.forEach(item => { // Loop through our words const s = synonyms(item[0].toLowerCase()); // Call the function let allSynonyms = []; for (let q in s) { s[q].forEach(i => { if(typeof i === "object") i.forEach(allSynonyms.push); else allSynonyms.push(i); }); } if (allSynonyms.includes(item[1].toLowerCase())) { console.log(`Yes, "${item[0]}" is a synonym with "${item[1]}"!`); // Yes } else { // Nope! console.log(`Nope, "${item[0]}" is not a synonym with "${item[1]}".`); } }); });

Sólo un ejemplo :) Puedes comprobar el resultado aquí . Simplemente ejecute npm start .

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