语法练习:array123
语法练习:array123
题目:array123
Given an array of ints, return True if the sequence of numbers 1, 2, 3 appears in the array somewhere.
array123([1, 1, 2, 3, 1]) → True
array123([1, 1, 2, 4, 1]) → False
array123([1, 1, 2, 1, 2, 3]) → True
我的解答:
def array123(nums):
if len(nums) < 3:
return False
else:
for i in range(len(nums) - 2):
if nums[i] == 1 and nums[i+1] == 2 and nums[i+2] == 3:
return True
return False
Expected Run
array123([1, 1, 2, 3, 1]) → True True OK
array123([1, 1, 2, 4, 1]) → False False OK
array123([1, 1, 2, 1, 2, 3]) → True True OK
array123([1, 1, 2, 1, 2, 1]) → False False OK
array123([1, 2, 3, 1, 2, 3]) → True True OK
array123([1, 2, 3]) → True True OK
array123([1, 1, 1]) → False False OK
array123([1, 2]) → False False OK
array123([1]) → False False OK
array123([]) → False False OK
All Correct
标答:
def array123(nums):
# Note: iterate with length-2, so can use i+1 and i+2 in the loop
for i in range(len(nums)-2):
if nums[i]==1 and nums[i+1]==2 and nums[i+2]==3:
return True
return False