假设我们有一个数组 nums。我们还有另一对 (x, y),我们需要找出该值find(x,y)是奇数还是偶数。的find()是如下
find(x, y) = 1 如果 x > y
find(x, y) = nums[x]^find(x+1, y) 否则
因此,如果输入类似于 nums = [3,2,7] (x, y) = 1, 2,那么输出将是偶数,因为 -
find(1, 2) = nums[1]^find(2,3)
find(2, 2) = nums[2]^find(3,2)
查找(3, 2) = 1,
所以 find(2, 2) = 7, and find(1, 2) = 2^7 = 128, 这是偶数
让我们看看以下实现以获得更好的理解 -
def solve(nums, x, y): even = True if x > y or (nums[x] % 2 == 1): even = False if x < len(nums) - 1 and x < y and nums[x+1] == 0: even = False if even: return 'Even' else: return 'Odd' nums = [3,2,7] (x, y) = 1,2 print(solve(nums, x, y))
[3,2,7], 1, 2输出结果
Even