哈希码怎么转换?

默认分类 未结 1 511
___一休___
___一休___ 2023-03-19 13:29
相关标签:
1条回答
  • 2023-03-19 13:48

    #include

    using namespace std;

    const int MAXN = 100;

    const int X = 3;

    long long f[1005];

    void init() {

    f[0] = 1;

    for(int i = 1;i < MAXN; i++) {

    f[i] = f[i-1]*X;

    }

    }

    int hash(string num)

    {

    int ans = 0;

    for (int i = 0; i < num.length(); ++i)

    ans = ans*f[i] + num[i] - '0';

    return ans;

    }

    int convert(string num, char c,int d)

    {

    int len = num.length();

    int h = hash(num);

    return ((c-num[d])*f[len-d-1] + h);

    }

    int main()

    {

    freopen("in.in","r",stdin);

    init();

    cout<

    cout<

    return 0;

    }

    觉得有用点个赞吧

    0 讨论(0)
提交回复