小编Har*_* Sj的帖子

最小异或值:给定一个由 N 个整数组成的整数数组 A,找到数组中具有最小异或值的整数对

给定一个由 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++ arrays bit-manipulation xor

4
推荐指数
1
解决办法
2358
查看次数

一对数组而不是 STL 映射 - 可能吗?优缺点都有什么?

为什么 c++ 标准映射非常有名,而成对数组也与那些相似?

什么时候使用 C++ 标准映射更好,什么时候使用成对数组?或者两者的应用程序相似?

c++ arrays stdmap c++-standard-library data-structures

4
推荐指数
1
解决办法
382
查看次数

如何从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,我需要能够访问函数func1func2使用weak_ptr x.

我不知道为什么我需要使用weak_ptr,但这就是我应该实现的。

我无法找到任何使用weak_ptr.

c++ smart-pointers weak-ptr

0
推荐指数
1
解决办法
2165
查看次数