- 921. Minimum Add to Make Parentheses Valid 使括号有效的最少添加
- 915. Partition Array into Disjoint Intervals 分割数组
- 932. Beautiful Array 漂亮数组
- 940. Distinct Subsequences II 不同的子序列 II
题目地址:https://leetcode-cn.com/problems/sentence-similarity/
Given two sentences words1
, words2
(each represented as an array of strings), and a list of similar word pairs pairs, determine if two sentences are similar.
Forexample, "great acting skills" and "fine drama talent" are similar, if the similar word pairs are pairs = [["great", "fine"], ["acting","drama"], ["skills","talent"]].
Note that the similarity relation is not transitive. For example, if "great" and "fine" are similar, and "fine" and "good" are similar, "great" and "good" are not necessarily similar.
However, similarity is symmetric. For example, "great" and "fine" being similar is the same as "fine" and "great" being similar.
Also, a word is always similar with itself. For example, the sentences words1 = ["great"], words2 = ["great"], pairs = [] are similar, even though there are no specified similar word pairs.
Finally, sentences can only be similar if they have the same number of words. So a sentence like words1 = ["great"] can never be similar to words2 = ["doubleplus","good"].
Note:
1、 Thelengthofwords1andwords2willnotexceed1000.;
2、 Thelengthofpairswillnotexceed2000.;
3、 Thelengthofeachpairs[i]
willbe2.;
4、 Thelengthofeachwords[i]
andpairs[i][j]
willbeintherange[1,20]
.;
给定两个句子 words1, words2 (每个用字符串数组表示),和一个相似单词对的列表 pairs ,判断是否两个句子是相似的。
这个题有一个坑的地方没说清楚:一个词可能会和多个词相似。
因此使用map<string, set<string>>
的方式,保存{每个词 : 与之相似的词}所有映射关系。
注意相似是双向的,因此对于一个Pair,需要正反插入两次。
判断是否相似的时候,需要对两个列表的对应元素进行遍历,判断是否相等或者在其相似set中出现。
C++代码如下:
class Solution {
public:
bool areSentencesSimilar(vector<string>& words1, vector<string>& words2, vector<vector<string>>& pairs) {
if (words1.size() != words2.size()) return false;
const int N = words1.size();
unordered_map<string, unordered_set<string>> similar;
for (auto& pair : pairs) {
similar[pair[0]].insert(pair[1]);
similar[pair[1]].insert(pair[0]);
}
for (int i = 0; i < N; ++i) {
if (words1[i] != words2[i] && !similar[words1[i]].count(words2[i])) {
return false;
}
}
return true;
}
};
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
2022
DDKK.COM 弟弟快看-教程,程序员编程资料站,版权归原作者所有
本文经作者:负雪明烛 授权发布,任何组织或个人未经作者授权不得转发
我想编写代码来查找两个句子之间的相似性,然后我最终使用 nltk 和 gensim 编写了这段代码。我使用标记化和 gensim.similarities.Similarity 来完成这项工作。但这不
package com.game; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax
作为熟悉 Tensorflow 的一种方式,我正在尝试验证 word2vec_basic.py(请参阅 tutorial)生成的词嵌入在对照人类相似性分数进行检查时是否有意义。然而,结果出人意料地令人
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this qu
问题:一些 R 包具有 Levenshtein 距离实现,用于计算两个字符串的相似度,例如http://finzi.psych.upenn.edu/R/library/RecordLinkage/ht
我需要找到两个数据数组之间的相似性度量。您可以将相似性度量称为任何您想要的名称,差异、相关性或任何其他名称。 例如: 1, 2, 3, 4, 5 < Series 1 2, 3, 4, 5, 6
虽然它们非常相似,但我确信 Pearson 相关相似度和调整余弦相似度之间存在一些差异,因为所有的论文和网页都将它们分为两种不同的类型。 然而,它们都没有提供明确的定义。 Here是其中一页。 谁能说
如何使用similarities.gensim中的Similarity 因为如果我使用 similarities.MatrixSimilarity: index = similarities.Matr
我想得到两个词的相似度百分比,eg) abcd versus zzabcdzz == 50% similarity 不需要非常准确。有什么办法吗?我正在使用 python,但可以随意推荐其他语言。 最
题目地址:https://leetcode-cn.com/problems/sentence-similarity/ 题目描述 Given two sentences words1, words2
我的 df 有以下条目: A xxx xxx xxx1 xx1x yyyy gggg 我想根据以下条件,根据 A 列的相似性将符号添加到我的 df 的 B 列。 我将阈值设置为 = 或 > 75% 相
我正在使用word2vec来表示一个小词组(3至4个单词)作为唯一矢量,方法是将每个单词嵌入相加或计算单词嵌入的平均值。 通过实验,我总是得到相同的余弦相似度。我怀疑这与在训练后将word2vec生成
我如何编写代码来查找与用户当前正在阅读的文章相关(相似)的文章? 例如,假设我有文章: Python programming tips Python programming for newbies P
我一直在从事一个关于句子相似度的项目。我知道它已经被问过很多次了,但我只是想知道我的问题是否可以通过我正在做的方式使用的方法来完成,或者我应该改变我解决问题的方法。粗略地说,系统应该分割一篇文章的所有
我有一个由字符串主机名和列表服务列表定义的对象“ObjectName”。 两个 serviceList 可能包含一个或多个相同的字符串。 每个字符串都是一个方法的名称。不能有相同名称的方法执行不同的操
我在 playframework 2.2 中使用 postgresql 和 jpa。 我正在尝试在我的JPQL中使用like with in,方法是使用类似于类似this的东西。线程。 select
如何计算 RGBA 颜色空间中两种颜色之间的相似度?(背景颜色当然未知) 我需要通过查找图像中每个像素的最佳调色板条目*,将 RGBA 图像重新映射到 RGBA 颜色调色板。 在 RGB 颜色空间中,
需要您的另一个提示: 我有一个包含系统路径的列表: C:\System\local\something\anything C:\System\local\anywhere\somewhere C:\S
我的应用程序布局有点棘手,所以主要问题是支持不同的屏幕。让我们以两部手机 HTC Sensation (4.3"960x540 256dpi) 和 Droid (3.7"854x480 265dpi)
我有一个应用程序。它不是电子邮件应用程序。但它具有类似于电子邮件的功能,用户可以选择在发送消息的同时发送附件。例如,当我在我的 gmail 上单击添加附件时,我可以选择附加任何内容,例如视频、音乐、图
我是一名优秀的程序员,十分优秀!