擅长:python、mysql、java
<p>即使<code>inclusive</code>中有重复的<em>字母</em>,但在<code>full</code>中只有一个,也会返回True:</p>
<pre><code>def recurseString(full, inclusive):
if not inclusive:
return True
return inclusive[0] in full and recurseString(full, inclusive[1:])
>>> print recurseString('jack','kkkcccjjj')
True
</code></pre>
<p>以下要求<code>full</code>包含相同数量的<em>重复</em>字母-如果<code>inclusive</code>有三个k,<code>full</code>必须有三个k:</p>
^{pr2}$
<p>使用<code>index</code>方法似乎是作弊</p>
<pre><code>def foo(full, inclusive, first_call = True):
if first_call:
full, inclusive = map(sorted, (full, inclusive))
if not full and inclusive:
return False
if not inclusive:
return True
if inclusive[0] == full[0]:
inclusive = inclusive[1:]
return foo(full[1:], inclusive, False)
assert not foo('','kkkcccjjj')
assert not foo('sun','xun')
assert not foo('jack','kkkcccjjj')
assert foo('s', 's')
assert foo('jckackjkjc','kkkcccjjj')
assert foo('','')
assert foo('a','')
</code></pre>