擅长:python、mysql、java
<p>我会完全这样改变我的方法:</p>
<pre><code>#! /usr/bin/env python3
def main():
"""Source: http://codereview.stackexchange.com/questions/149867"""
print('PASS' if contains((0, 1, 3, 4, 5), (1, 3, 4)) else 'FAIL')
print('PASS' if contains((1, 2, 1, 2, 1, 3), (1, 2, 1, 3)) else 'FAIL')
def contains(iterable, sequence):
"""Determine if sequence can be found in iterable and return the result."""
length = len(sequence)
if length > len(iterable):
return False
else:
upper_bound = len(iterable) - length
for i in range(upper_bound + 1):
if iterable[i:i + length] == sequence:
return True
return False
if __name__ == '__main__':
main()
</code></pre>
<p>我不是每次检查一个项目,而是检查长度<code>len(sequence)</code>的<em>母亲</em>列表的一部分是否与<code>sequence</code>相同。<code>upper_bound</code>控制所需检查的数量。你知道吗</p>
<p>PS:它们都返回<code>"PASS"</code>。你知道吗</p>