《算法笔记》笔记之字符串hash

352 阅读1分钟

大写字母hash

int hashFunc(char S[],int len)
{
    int id=0;
    for(int i=0;i<len;i++)
    {
        id=id*26+(S[i]-'A')
    }
    return id;
} 

大小写字母hash

int hashFunc(char S[],int len){
    int id=0;
    for(int i=0;i<len;i++)
    {
        if(s[i]>='A'&&S[i]<='Z')
        {
            id=id*52+(S[i]-'A');
        }
        else if(S[i]>='a'&&S[i]<='z')
        id=id*52+(S[i]-'a')+26;
    }
    return id;
}