C语言----最短补全词

C语言----最短补全词,第1张

C语言----最短补全词

 解题思路:

1,利用hash思想,遍历licensePlate,建立hash数组

2,依次遍历words中的每个单词,判断是否满足补全词

3,满足补全词则加入到定义的结构体中

4,对结构体中的len进行排序 取len最小的单词

代码简单易懂,如下

int LOWERWORd(int X) 
{
    if(X >= 'A' && X <= 'Z')
        X -= 'A';
    else if(X >= 'a' && X <= 'z')
        X -= 'a';
    return X;
}
struct wordmap
{
    char *word;
    int len;
};
int judge(int *oriHashArr,char *word)
{
    int wordHashArr[26] = {0};
    int i;
    for(i=0; i='a' && licensePlate[i]<='z' || licensePlate[i]>='A' && licensePlate[i]<='Z')
        {
            oriHashArr[LOWERWORd(licensePlate[i])]++;
        }
    }
    for(i=0; i 

运行结果

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5659813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存