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

393
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 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