BITWISE OPERATOR def xorProblem(n, arr, q, queries): result=[] for i in queries: l=arr[(i[0]-1):i[1]] result.append(subsegment(l)) return result def subsegment(arr): res=[] res=arr l=[arr[i:j] for i in range(len(arr)) for j in range(i+1,len(arr)+1)] #------------------------------------------------> def BitOperation(m): l=[] for i in range(len(m)-1): l.append(m[i]^m[i+1]) if len(l)==1: res.append(l[0]) elif len(l)!=1 and len(m)>1: BitOperation(l) #-------------------------------------------------------> for i in l: BitOperation(i) return max(res) print(xorProblem(6,[1, 2, 4, 8, 16, 32] , 3,[ [1, 3],[2, 5],[1,6] ]))
def xorProblem(n, arr, q, queries):
result=[]
for i in queries:
l=arr[(i[0]-1):i[1]]
result.append(subsegment(l))
return result
def subsegment(arr):
res=[]
res=arr
l=[arr[i:j] for i in range(len(arr)) for j in range(i+1,len(arr)+1)]
#------------------------------------------------>
def BitOperation(m):
l=[]
for i in range(len(m)-1):
l.append(m[i]^m[i+1])
if len(l)==1:
res.append(l[0])
elif len(l)!=1 and len(m)>1:
BitOperation(l)
#------------------------------------------------------->
for i in l:
BitOperation(i)
return max(res)
print(xorProblem(6,[1, 2, 4, 8, 16, 32] , 3,[ [1, 3],[2, 5],[1,6] ]))
Comments
Post a Comment