有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java根据预定义的规则集将输入集分类

我想解决一个问题,这里有两个输入文件

输入1:

格式中的一组字符串。所有字符串都以“A”开头

  • A-B-C-D
  • A-B-C-3
  • A-X-Y-Z-4
  • A-X-5
  • A-X-P-Q-R
  • A-X-P-Q-S
  • A-M-9-P
  • A-M-10-Q
  • A-M-N-G-3
  • A-V-B-H-3
  • A-J-K-L-3-S-Y
  • A-U-3-W-E

这里是A,B,C,D,X,Y,Z,M。。(所有字母表都是关键字,整数是占位符)

输入2:

一组规则和每组规则的名称。每个规则集可以有一个或多个规则。所有规则集都以“A”开头

规则1:(名称:红色)

  • A-X-^

规则2:(名称:蓝色)

  • A-X-P-Q-R
  • A-X-P-Q-S

规则3:(名称:黄色)

  • A-X-P-Q-S
  • A-X-P-Q-R

规则4:(名称:绿色)

  • A-M-$-P
  • A-M-@-Q
  • A-M-#-P

规则5:(名字:紫色)

  • A-V-B-H-$
  • A-J-K-L-$-S-Y
  • A-U-$-W-E

如果字母表是关键字,其他(如^、$、@、#……)是占位符。在给定的规则集中,如果占位符相同(如规则5),则意味着占位符值必须相同,只有这样它才属于该类别。如果它们是不同的占位符,则值可能不同

问题陈述:

以输入1(字符串集)为例,根据输入2的规则集,找出输入所属的类别。输出可以是一个或多个类别。此外,规则集中的规则可能不会一个接一个地出现在输入中

在这两者之间可能会有多条其他规则。例如,在规则2中,A-X-P-Q-R后面必须跟着A-X-P-Q-S。这并不意味着这两者之间不能有其他人

示例:

输入文件可能是

  • A-X-P-Q-R
  • A-Q-W
  • A-Y-T-H
  • A-X-P-Q-S

它仍然符合规则2,属于“蓝色”

我的方法: 我在考虑两种方法

  • 使用决策树(or)
  • 将输入1表示为图,将输入2中的每个规则集表示为单独的图,并查找图同构

有什么想法吗


共 (0) 个答案