擅长:python、mysql、java
<p>这是在一次采访中问我的。
有更好的方法。
数到26个字符,然后取最小值。
以下是完整的解决方案:</p>
<pre><code>from astropy.extern.ply.cpp import xrange
def commoncharacters(a, b):
count1 = [0] * 26 ; count2 = [0] * 26
for i in a: count1[ord(i) - ord('a')] += 1 ;
for i in b: count2[ord(i) - ord('a')] += 1 ;
res = 0
for i in xrange(26):
res += min(count1[i], count2[i])
return res
# driver function
a = "giniProtijayi"
b = "ginikhepi"
print(commoncharacters(a, b))
</code></pre>