我有两个非常大的字符串。如何比较它们以判断它们是否相同,或者其中一个是否与另一个不同? (这样我就可以单独保留相同的字符串并处理已更改的字符串。)
答案 0 :(得分:3)
最有效的方法是:
$string1 == $string2
它对字符串进行逐位比较,因此最好 O(n)
,其中n
是较小字符串的大小。我不认为你会比这更好(没有跟踪字符串,如果它们被改变了,但问题的措辞方式似乎你要做的就是比较它们。) / p>
答案 1 :(得分:2)
您可以比较哈希值,或者创建一个包含相关字符串的包装类,以及每次更改字符串时设置为true
的“已更改”标志。