对一组字符串排序,使子串总在父串之后
来源:互联网 发布:mac上怎么做u盘启动盘 编辑:程序博客网 时间:2024/05/17 22:57
对一组关键词排序,使子字符串总在父字符串后面。
例:array('军','军队', '坦克军队'),排序后为array('坦克军队','军队', '军')。
这在对文章违禁词过滤时非常有用,如果不预先排序,因为过滤是俺关键词的顺序过滤的,则可能出现以下错误:
比如文章中有“坦克军队”这个词,按顺序,首先针对“军”过滤,过滤完之后成了“坦克队”,而“军队”和“坦克军队”都不在这里面,所以最终结果就成了“坦克队”,这是我们不希望看到的。
例:array('军','军队', '坦克军队'),排序后为array('坦克军队','军队', '军')。
这在对文章违禁词过滤时非常有用,如果不预先排序,因为过滤是俺关键词的顺序过滤的,则可能出现以下错误:
比如文章中有“坦克军队”这个词,按顺序,首先针对“军”过滤,过滤完之后成了“坦克队”,而“军队”和“坦克军队”都不在这里面,所以最终结果就成了“坦克队”,这是我们不希望看到的。
<?php$time = 0;$start = microtime(TRUE);/* 这段被注释的代码可用于从一个文件中读取违禁关键字,每个关键词独占一行$keywords = file('./not_allow_keywords.txt');foreach ($keywords as &$val) {$val = trim($val);}$keywords = array_values($keywords); */$keywords = array('军','军队', '坦克军队');$length = count($keywords);for ($i = 0; $i < $length; $i++) {for ($j = $i+1; $j < $length; $j++) {$time++;if (strpos($keywords[$j], $keywords[$i]) !== FALSE) {$keyword_tmp = $keywords[$i];$keywords[$i] = $keywords[$j];$keywords[$j] = $keyword_tmp;}}}$time_consume = microtime(TRUE) - $start;var_dump($keywords, $time, $length, $time_consume);
- 对一组字符串排序,使子串总在父串之后
- 使用冒泡排序,排序一组字符串
- 算出一组字符串里出现最对的一组
- 对一组数字随机排序算法
- c语言对一组数据随机排序
- 使用堆排序对一组随机数进行排序
- 黑马程序员——对一组数组进行排序
- 使用hadoop对一组数据排序,求平均值。
- STL对字符串排序
- qsort对字符串排序
- 对字符串进行排序
- sort对字符串排序
- 数组排序之对一组学生按照成绩, 学号,年龄, 姓名排序~
- 鸽巢排序:对一组集中且重复的数据进行排序
- 对一组数乱序
- 使用指针对字符串排序
- 第十四周 对字符串排序
- 对字符串中的单词排序
- linux下快速编译模块的方法
- U3D需要用到的数学基础知识
- 分类汇总统计的SQL语句 .
- Tiny6410_buttons.c 按键驱动程序
- hdu 1505 hdu 1506 hdu 2870 综合解答
- 对一组字符串排序,使子串总在父串之后
- hdu2870之DP
- VMware_VCP5.0 虚拟化认证原厂培训中文教材 PPT
- HDU 4565 So Easy!
- Codeforces Round #188 (Div. 1) / 317A Perfect Pair(数学&优化)
- poj-1200 Crazy Search
- Wing IDE 4.1使用笔记一修正一下框框字体显示不了中文
- HDOJ 1789
- struts2-常用功能