我试图解决这个问题,我们必须找到子序列的最大长度,使得每个连续元素的 XOR 等于 keg :Array = [3,2,4,3,5] 和 k=1。答案是 3。 subsequence = [3,2,3]
到目前为止,我已经尝试过这些方法:
int finalAns=0;
loop (i=0...n):
int xortillnow = array[i], count=1; // since we have already selected one element
loop(j=i+1..n):
if((xortillnow ^ array[i])==k):
count++;
xortillnow = xortillnow ^ array[i];
finalAns = max(count,finalAns);
Run Code Online (Sandbox Code Playgroud)
2.Second 我正在考虑动态编程,我可以在其中存储已经计算出的子序列的异或,但我无法完成算法。
有人可以告诉一些解决这个问题的其他方法。