提问人:Some Ace 提问时间:1/7/2023 最后编辑:MureinikSome Ace 更新时间:1/7/2023 访问量:47
计算 2 个长度相同的字符串的差异
Counting differences in 2 strings which have the same length
问:
假设我有两个字符长度相同的字符串。他们看起来像这样。
String s1 = "R20k20r20";
String s2 = "R21k20r20";
我真的不在乎差异在哪里,但我希望能够计算它们之间有多少差异。在这种情况下,它应该只是 1。在这种情况下,实现这一目标的最简单方法是什么?
答:
3赞
Mureinik
1/7/2023
#1
您可以迭代字符串的长度,并为每个不同的字符递增一个计数器:
int numDiffs = 0;
for (int i = 0; i < s1.length(); ++i) {
if (s1.charAt(i) != s2.charAt(i)) {
++numDiffs;
}
}
或者你可以流式传输这个长度,可以说是更优雅的单行:
long numDiffs =
IntStream.range(0, s1.length()).filter(i -> s1.charAt(i) != s2.charAt(i)).count();
上一个:在 c 中计算任意字符串表达式#
下一个:c 中的字符串比较
评论