有没有办法为以下示例编写算法而没有糟糕的运行时间?
该算法应该能够匹配两个字符串,但是字符串中的每个值都有一个权重。(0-1:0 表示非必要,1 表示必要)如果权重不是 1,则字符不必匹配,因此可能会发生不匹配。这更容易用一个例子来解释。
图案:
public static void main (String []args){
样本:
public static void main (List<String> command_line_vals) {
重量:
- 1 为
public static void main (
- 0.5 为
String []
- 0.1 为
args
- 1 为
) {
目标是让这两个匹配成功。如果参数更接近模式,则得分更高。在这个例子中,这意味着String []vals
它将比上面的样本排名更高。
这与 needleman-wunsch 不同,因为如果 char 的等级为 !=1 那么它根本不应该匹配。
我会使用regex
但是这不允许我对匹配的人进行排名。会先使用正则表达式(所有非 1 值字符的通配符),然后在匹配的那些上使用 needleman-wunsch 吗?
欢迎提出建议和头脑风暴。
感谢您的时间。