# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 表示是几维空间 # @param a int整型一维数组 表示n维空间的坐标 # @return int整型 # class Solution: def solve(self , n , a ): # write code here if n == 1: return 0 sum = 0 # stack维护次大值左侧最大值 stack = [] # i为次大值 for i in range(n): while stack and stack[-1] < a[i]: # 栈顶把比当前值小的弹出,留下比当前值大的 stack.pop() if stack: # 栈顶为左侧比当前值大的 sum = max(sum, a[i]^stack[-1]) stack.append(a[i]) r = i + 1 while r<n and a[r] < a[i]: r += 1 if r<n: sum = max(sum, a[i]^a[r]) return sum