zoukankan      html  css  js  c++  java
  • 【leetcode】Bigram 分词

    给出第一个词 first 和第二个词 second,考虑在某些文本 text 中可能以 "first second third" 形式出现的情况,其中 second 紧随 first 出现,third 紧随 second 出现。

    对于每种这样的情况,将第三个词 "third" 添加到答案中,并返回答案。

    示例 1:

    输入:text = "alice is a good girl she is a good student", first = "a", second = "good"
    输出:["girl","student"]
    示例 2:

    输入:text = "we will we will rock you", first = "we", second = "will"
    输出:["we","rock"]
     

    char ** findOcurrences(char * text, char * first, char * second, int* returnSize){
        int i,j,len=strlen(text),n=0,k=0;
        char** words = (char**)calloc(len,sizeof(char*));
        char** thirds = (char**)calloc(len,sizeof(char*));
        char* word = text;
        for (i=0; i<=len; i++)
        {
            if (text[i] == ' ' || text[i] == '')
            {
                text[i] = '';
                words[n++] = word;
                word = &text[i+1];        
            }
        }
        for (i=0; i<n-2; i++)
        {
            if (!strcmp(words[i],first) && i+1<n && !strcmp(words[i+1],second))
            {
                if (i+2 < n) thirds[k++] = words[i+2];        
            }
        }
        *returnSize = k;
        return thirds;
    }
  • 相关阅读:
    [转]解决ORACEL数据库“exp导出老是出现ORA-00904”
    教程
    [转]web初学者需要掌握哪些技术
    sublime的使用技巧
    安装Sublime Text
    memcached内存分类机制
    Java生产者和消费者
    一致性哈希原理及应用浅析
    Java线程状态分析
    Java多线程中断机制
  • 原文地址:https://www.cnblogs.com/ganxiang/p/13664881.html
Copyright © 2011-2022 走看看