Re: [闲聊] 每日leetcode

楼主: Meaverzt (Meaverzt)   2025-01-17 13:38:54
题目:
有一个里面只会有0跟1的阵列derived
我们要检查有没有任何binary array经过运算后会变成derived
然后运算长这样:
对每个index i in range(0,n-1)
i=n-1时derived[i]=original[i] xor original[0]
其他情况derived[i]=original[i] xor original[i+1]
思路:
假设original阵列存在的话
derived的每一项都可以写成original的两项xor
所以把derived的每一项xor的话
出来的值会等于original每一项被xor两次就是0
所以只要检查derived每一项xor是不是0
就知道original存不存在了
Code:
class Solotion {
public:
bool doesValidArrayExixt(vector<int>& derived){
int sum=0;
for (int x:derived)
sum^=x;
return sum==0;
}
};
bit运算还要几天呢
作者: oin1104 (是oin的说)   2025-01-17 13:40:00
我快吐了 每天都在 ^=

Links booklink

Contact Us: admin [ a t ] ucptt.com