给定一个由 N 个整数组成的整数数组 A,找到数组中具有最小 XOR 值的整数对这里是蛮力解决方案,我们找到每一对可能并计算 XOR 并找到每对的最小值:
int minXOR(int arr[], int n)
{
int min_xor = INT_MAX; // Initialize result
// Generate all pair of given array
for (int i = 0; i < n; i++)
for (int j = i + 1; j < n; j++)
// update minimum xor value if required
min_xor = min(min_xor, arr[i] ^ arr[j]);
return min_xor;
}
Run Code Online (Sandbox Code Playgroud)
这是复杂度为 O(n*logn) 的代码:
int Solution::findMinXor(vector<int> &A) {
sort(A.begin(),A.end());
int min=INT_MAX;
int val;
for(int i=0;i<A.size();i++)
{
val=A[i]^A[i+1]; …Run Code Online (Sandbox Code Playgroud) 为什么 c++ 标准映射非常有名,而成对数组也与那些相似?
什么时候使用 C++ 标准映射更好,什么时候使用成对数组?或者两者的应用程序相似?
我对智能指针完全是新手,而且从未接触过weak_ptrC++。
我在 class 中有一个函数Y,它接受weak_ptrclass 的参数 a X。
在类的函数内部Y,我需要X通过weak_ptr.
作为参考,这里是一个粗略的类定义:
Y.cpp
class Y {
public : Y();
~Y();
int foo(std::weak_ptr<X> x);
};
Run Code Online (Sandbox Code Playgroud)
X.cpp
class X {
public : std::string func1();
int func2();
};
Run Code Online (Sandbox Code Playgroud)
foo()在类的函数内部Y,我需要能够访问函数func1并func2使用weak_ptr x.
我不知道为什么我需要使用weak_ptr,但这就是我应该实现的。
我无法找到任何使用weak_ptr.