其他分享
首页 > 其他分享> > 【leetcode】1170. 比较字符串最小字母出现频次

【leetcode】1170. 比较字符串最小字母出现频次

作者:互联网

 

int getRes(char *str){
    int len = strlen(str);
    char c = 'z';
    int ht[26] = {0};
    for(int i=0; i<len; i++){
        ht[str[i]-'a']++;
        c = str[i] < c ? str[i] : c;
    }
    return ht[c-'a'];
}

int* numSmallerByFrequency(char ** queries, int queriesSize, char ** words, int wordsSize, int* returnSize){
    int ht[11] = {0}, i;
    for(i=0; i<wordsSize; i++){
        int times;
        times = getRes(words[i]);
        ht[times]++;//HASH一次
    }
    for(i=1; i<11; i++)
        ht[i]+=ht[i-1];
    int *ans = (int*)calloc(queriesSize, sizeof(int));
    *returnSize = queriesSize;
    for(i=0; i<queriesSize; i++){
        int times = getRes(queries[i]);
        ans[i] = ht[10]-ht[times];//HASH三次
    }
    return ans;
}

 

标签:char,26,1170,int,频次,str,strlen,leetcode
来源: https://www.cnblogs.com/ganxiang/p/14049075.html