题解 | #计算某字符出现次数#

计算某字符出现次数

https://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1?tpId=37&tags=&title=&difficulty=0&judgeStatus=0&rp=1&sourceUrl=%2Fexam%2Foj%2Fta%3Fpage%3D1%26tpId%3D37%26type%3D37

#include <stdio.h>
#include <string.h>

int hashTable[26 * 10 * +1];
int hashFuns(char a) {
    int id = 0;
    if (a >= 'a' && a <= 'z') {
        id = id * 37 + (a - 'a');
    } else if (a >= '0' && a <= '9') {
        id = id * 63 + (a - '0') + 36;
    } else {
        id = id * 63 + (a - ' ') + 46;
    }

    return id;
}

int main() {
    char str[1005];
    char a ;
    fgets(str , 1004 , stdin);
    scanf("%c" , &a);
    int len = strlen(str);

    for (int i = 0; i < len; i++) {
        int id = 0;
        if (str[i] >= 'A' && str[i] <= 'Z') {
            str[i] = str[i] + 32;
        }
        id = hashFuns(str[i]);
        hashTable[id]++;

    }

    if (a >= 'A' && a <= 'Z') {
		a = a + 32;
	}
    int dd = hashFuns(a);
    printf("%d", hashTable[dd]);

    return 0;
}

全部评论

相关推荐

StephenZ_:我9月份找的第一段实习也是遇到这种骗子公司了,问他后端有多少人和我说7个正职,进去一看只有一个后端剩下的都是产品前端算法(没错甚至还有算法)。还是某制造业中大厂,我离职的时候还阴阳怪气我
点赞 评论 收藏
分享
牛至超人:把哈工大,再加大加粗,看见闪闪发光的哈工大字样,面试官直接流口水
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务