程序员面试金典——17.1无缓存交换
主要是利用异或性质~
程序员面试金典——17.1无缓存交换
class Exchange {
public:
vector<int> exchangeAB(vector<int> AB) {
// write code here
if(AB.size() <= 1)
return AB;
else {
AB[0] = AB[0]^AB[1];
AB[1] = AB[0]^AB[1]; //A[1] = A[0]
AB[0] = AB[0]^AB[1];
}
return AB;
}
};
本文介绍了一种无缓存的变量交换算法,通过使用异或运算实现两个变量值的互换,避免了额外缓存空间的使用。该算法适用于内存资源紧张的环境,对于理解位操作和算法优化具有一定的参考价值。
779

被折叠的 条评论
为什么被折叠?



