假设我们有一个数组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,andfind(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))