gupengoklai 发布留言 2008-7-4 21:50
一段英文文字~要找出一个指定的单词在文中出现的次数如何编写代码?
一段英文文字~要找出一个指定的单词在文中出现的次数如何编写代码?
sunkaidong 发布留言 2008-7-4 21:52
kmp速度快点。。。如果不考虑速度的话,可以用一般的查找
cosdos 发布留言 2008-7-4 22:20
int fun(char * ar, char * a) /* a 在ar 中出现的次数 */
{
int i = 0, j;
int count = 0;
while(ar && ar) && (a[j] == ar); j++);
if(!a[j]) // a[j] == '\0'
{
i += j;
count++;
}
else
i++;
}
return count;
}
StarWing83 发布留言 2008-7-4 22:21
如果单词是aaa。原文是aaaaa,那么算出现几次呢?
coming 发布留言 2008-7-4 22:32
呵呵~~~思维缜密啊
cosdos 发布留言 2008-7-5 00:31
[un]StarWing83[/un] 在 2008-7-4 22:21 的发言:[/bo]
如果单词是aaa。原文是aaaaa,那么算出现几次呢? |
一次。 这是我所认同的。
----------------------------
不过确实会丢掉几次可能的匹配。
-
[ 本帖最后由 cosdos 于 2008-7-5 01:07 编辑 [/it]]
cosdos 发布留言 2008-7-5 00:42
我思考问题有点不同。
aaaaa // 5个
aaaaa // 已经出现过了,后面只有2个所以不满足3个a的条件
不重叠的匹配! 我一直这样思的。
第一次,看到别人的匹配算法吓了一跳,为何重叠的!
------------------------------------
我就是我,很小的时候就觉得重叠的很...(不知怎么表达),
反正就是不喜欢这样。
------------------------------------
[ 本帖最后由 cosdos 于 2008-7-5 01:08 编辑 [/it]]
cosdos 发布留言 2008-7-5 00:55
我是我我是我是我是我是我是我是我是我是....
比方这个,
这个
连着读的话,到底是“我是”、“我是我”还是“是我”,很便扭。
这就是我小时候想过的一个问题。
该怎么拆分这些词呢。(或者说怎么“理解、匹配”呢)
[tk15]
我杀人我杀人我杀人我杀人我杀人我杀人我杀人我杀人我杀人
[tk15]
[ 本帖最后由 cosdos 于 2008-7-5 01:04 编辑 [/it]]
StarWing83 发布留言 2008-7-5 11:57
我是我 我是 我是 我是 我是 我是 我是 我是 我是....
主谓宾 主谓 主谓 主谓 主谓 主谓 主谓 主谓 主谓....
按照语法分析,显然是这样。除了同位语,汉语不允许两个名词性短语并列,但“我我”明显不是同位语结构。
StarWing83 发布留言 2008-7-5 11:58
如果是
我是我是我是我是我是我是我是我是...
则应该分成:
我是我 是我 是我 是我 是我 是我 是我 是...
道理同上,不过后面是动宾短语做平行语法成分。整个句子是复句。
页: [1]