我被这个问题困住了
给定一个整数数组,如果该数组某处的 2 旁边包含 2,则返回 True。
has22([1, 2, 2]) → True
has22([1, 2, 1, 2]) → False
has22([2, 1, 2]) → False
我知道基本思想(存在语法错误),但我无法实现它。我也想知道这是什么类型的问题,例如。图表,搜索?
def has22(nums):
for x in nums:
if ( (nums[x] = 2) and (nums[x+1] = 2) )
return True
return False
def has22(nums):
return any(x == y == 2 for x, y in zip(nums, nums[1:]))
>>> has22([1, 2, 2])
True
>>> has22([1, 2, 1, 2])
False
>>> has22([2, 1, 2])
False
在 Python 2 中使用:from itertools import izip
如果你想要一个懒人zip
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)