我想比较像这样的一些字符串
Previous -> Present
像
这样的东西path 1 : 100 -> 112 --> 333 --> 500
path 2 : 100 -> 333 --> 500
path 3 : 100 -> 333 --> 500 --> 500
path 4 : 100 -> 112 --> 500
我需要将path 1
与path 2
进行比较,获取path 1
中path 2
中不存在的数字,并将其存储在数据库中
然后将path 2
与path 3
进行比较并做同样的事情。如果它已经存在则增加它。否则插入新号码。
我知道如何插入数据库并在条目存在时递增。我不知道的是如何遍历所有那些获取这些值然后决定是否插入数据库的路径。
我做了一些研究,我听说过Levenshtein Edit Distance,但我无法弄清楚应该怎么做。
答案 0 :(得分:1)
您的问题似乎是:
给出两个数字列表,如何判断列表A中的哪些不在列表B中?
哈希对于进行集算术非常有用。
my @a = ( 100, 112, 333, 500 );
my @b = ( 100, 333, 500 );
my %b = map { $_ => 1 } @b;
my @missing = grep { !$b{$_} } @a;