您将如何计算两个字符串之间的字符交集?

例如(假设我们有一个名为String.intersection的方法):

"abc".intersection("ab") = 2
"hello".intersection("hallo") = 4

好的,男孩和女孩,感谢您的大量反馈。一些更多的例子:
"aaa".intersection("a") = 1
"foo".intersection("bar") = 0
"abc".intersection("bc") = 2
"abc".intersection("ac") = 2
"abba".intersection("aa") = 2

更多注意事项:
Wikipedia定义intersection如下:

最佳答案

这将通过您描述的所有测试用例:

class String
  def intersection(other)
    str = self.dup
    other.split(//).inject(0) do |sum, char|
      sum += 1 if str.sub!(char,'')
      sum
    end
  end
end

10-08 04:50