问题标签 [matching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
4836 浏览

algorithm - 将首选合作伙伴匹配为三组的算法

有什么好的算法可以解决这个问题?

我有三组人——A组、B组和C组。每组的人数相同。他们每个人都有一个他们愿意与之合作的其他组中的人员列表。我想将所有这些人分成 3 人一组(一个来自 A,一个来自 B,一个来自 C),这样一个组中的每个人都希望与他们组中的其他人一起工作。

如何快速找到这些组?如果没有办法让每个人都开心,那么算法应该首先让尽可能多的组有三个想要一起工作的人,然后让其他组中的尽可能多的人开心。

最后一点:人们就他们想和谁一起工作达成一致(如果 x 想和 y 一起工作,那么 y 也想和 x 一起工作)。如果您还可以给出算法运行时间的大 O,那就太好了!

0 投票
8 回答
8085 浏览

java - 在 Java 中匹配不准确的公司名称

我有一个公司数据库。我的应用程序接收到按名称引用公司的数据,但名称可能与数据库中的值不完全匹配。我需要将传入的数据与它所指的公司相匹配。

例如,我的数据库可能包含一家名为“AB Widgets & Co Ltd”的公司。而我的传入数据可能引用“AB Widgets Limited”、“AB Widgets and Co”或“AB Widgets”。

公司名称中的某些词(AB Widgets)比其他词(Co、Ltd、Inc 等)更重要。避免错误匹配很重要。

公司的数量足够少,我可以在内存中维护他们的名称地图,即。我可以选择使用 Java 而不是 SQL 来找到正确的名称。

你会如何在 Java 中做到这一点?

0 投票
5 回答
2455 浏览

database - 如何最好地匹配两个字符串?

你知道有什么好的算法可以匹配两个字符串,然后返回这两个字符串匹配的百分比吗?

还有一些也可以与数据库一起使用吗?

0 投票
9 回答
98577 浏览

mysql - 如何使用 PHP 对 MYSQL 中的公司名称进行模糊匹配以实现自动完成?

我的用户将通过剪切和粘贴一个包含公司名称的大字符串来导入。

我有一个现有且不断增长的 MYSQL 公司名称数据库,每个数据库都有一个唯一的 company_id。

我希望能够解析字符串并为每个用户输入的公司名称分配一个模糊匹配。

现在,只是做一个直接的字符串匹配,也很慢。** Soundex 索引会更快吗?如何在用户输入时为他们提供一些选项?**

例如,有人写道:

我发现以下似乎与此问题相似的线程,但发帖人尚未批准,我不确定他们的用例是否适用:

如何在大型字符串数据库中找到字符串的最佳模糊匹配

在 Java 中匹配不准确的公司名称

0 投票
3 回答
1849 浏览

vb.net - 正则表达式和从右到左的匹配代码

与正则表达式有点纠结,我在一个字符串中有 4 个代码

CODE4:CODE3:CODE2:CODE1

除 CODE1 外,每个代码都是可选的

所以我可以有 ab:bc:de:fg

或者

公元前::fg

ab:::fg

在上述 CODE1 = fg dnd 的每种情况下,为了我亲爱的生活,我无法计算出 RegEX

作为标准字符串解析很容易,但不幸的是,因为需要通过正则表达式完成商业对象:-(并通过 vb.net RegEX.matche,groups("Code1") fg 返回(我希望这使得感觉)

提前感谢您的帮助

最后得到了一些可以完成工作的正则表达式,有点乱但它有效

塔都

0 投票
7 回答
1455 浏览

sql - SQL 优先级匹配

我正在尝试对存储过程中的表进行优先级匹配。要求解释起来有点棘手,但希望这是有道理的。假设我们有一个名为 books 的表,其中包含 id、author、title、date 和 pages 字段。

我们还有一个存储过程,它将与表中的 ONE 行匹配查询。

这是proc的签名:

优先规则如下:

  • 首先,尝试匹配所有 4 个参数。如果我们找到匹配返回。
  • 接下来尝试使用任意 3 个参数进行匹配。第一个参数在这里具有最高的优先级,而第四个是最低的。如果我们找到任何匹配项,则返回匹配项。
  • 接下来我们检查是否有任何两个参数匹配,最后是否有任何一个匹配(仍然遵循参数顺序的优先规则)。

我已经逐案实施了这个。例如:

但是,对于表中的每个新列,单独检查的数量增加了 2。我真的很想将其概括为 X 列;但是,我在想出一个计划时遇到了麻烦。

感谢您的阅读,我可以提供所需的任何其他信息。


添加:

Dave 和其他人,我尝试实现您的代码,但它在第一个 Order by Clause 中令人窒息,我们在其中添加了所有计数。它给了我一个无效的列名错误。当我注释掉总计数并仅按单个别名排序时,proc 编译得很好。

有人有想法么?

这是在 Microsoft Sql Server 2005 中

0 投票
9 回答
1077 浏览

algorithm - 字符串匹配

让我解释一下问题:

  1. 假设我有一个图书馆,图书馆包含很多书,每本书包含章节,每章包含字符串(字符串以点“.”开头和结尾)。
  2. 再次顺序,图书馆 -> 书 -> 章节 -> 字符串。
  3. 我从书籍中提取字符串,我们称它们为“书籍字符串”。
  4. 我有一个系统,用户可以在搜索表单中输入一个字符串,系统应该从“书籍字符串”返回输入字符串的完全匹配。如果输入的字符串与书籍字符串中的任何字符串都不匹配,则不会返回任何内容。

我想了想,找到了一个解决方案,我将对所有书籍字符串进行 MD5 并保存散列的书籍字符串。当用户输入要搜索的字符串时,我也会对其进行散列并在散列的书籍字符串中搜索匹配项。它更便宜(每个字符串 32 或 64 个字符),比普通搜索更快,并且只返回完全匹配。

有任何意见、想法、更好的解决方案吗?

PS这样的算法叫什么名字?搜索或匹配?

0 投票
1 回答
899 浏览

regex - 如何使用 linq 找到相似的列名?

嗨,我正在尝试学习 Linq,所以我不确定这是否可以完成。

我正在做一个 导入项目 ,所以我决定使用 DataSets 导入数据。

此时我面临的挑战:拥有 2 个具有不同架构的 DataTable,其中一个包含我的目标架构,另一个包含我的源架构。

我需要做的是执行一些列匹配,我可以在其中识别与目标列“有点相似”的源列。我正在寻找一些东西,如果目标列名称的任何部分包含在源中,这是一个可能的匹配 ,我不知道有什么方法可以确定可能性。

例如源 [firstname, lastname, address] -> 目标 [fname, lname, addr1]

那么,LINQ 是这份工作的潜在候选人吗?还是正则表达式?我从这个开始

有一个源 DataTable dt

我不知道从这里去哪里......

谢谢!

0 投票
2 回答
1009 浏览

algorithm - 2/3D 几何:如何以最佳方式对齐两个点列表

我要解决的问题如下:给定两个包含点的长度相等的列表,找到一个使对之间的距离总和最小化的映射。我尝试这样做的原因是为我正在构建的遗传算法找到两个多边形中最近的点,理想情况下,这将根据该计算的输出排列两个基因以最大化空间相似性。

0 投票
6 回答
1724 浏览

c# - 匹配整数列表的算法

每天我们有大约 50,000 个数据结构实例(最终可能会变得更大),这些实例封装了以下内容:

这可能无关紧要,但该列表values是不同整数的列表,其属性对于给定的 值,所有值的AsOfDate联合产生不同整数的列表。也就是说,同一天没有整数出现在两个不同的列表中。valueskeyvalues

列表通常包含很少的元素(1 到 5 个),但有时长达 50 个元素。

给定相邻的日子,我们试图找到这些对象的实例,它们的值key在两天内不同,但列表values包含相同的整数。

我们正在使用以下算法。通过将列表转换values为字符串

然后散列signature到一个整数,对得到的散列码列表进行排序(每天一个列表),遍历两个列表以查找匹配项,然后检查关联的键是否不同。(还要检查相关列表以确保我们没有哈希冲突。)

有没有更好的方法?