原来数组:
$str = Array(
'0' => 'CONTROLLER',
'1' => '或者',
'2' => 'URL',
'3' => '兼容',
'4' => '考虑',
'5' => '替换',
'6' => '当前',
'7' => '控制器',
'8' => 'URL',
'9' => '地址',
'10' => '不含',
'11' => '域名',
'12' => '兼容机',
'13' => '中华',
'14' => '中华人民',
'15' => '共和国',
'16' => '中华人民共和国',
'17' => '人民共和国',
'18' => '共和'
);通过某种运算得到最终数组$str1 = Array(
'0' => 'CONTROLLER',
'1' => '或者',
'4' => '考虑',
'5' => '替换',
'6' => '当前',
'7' => '控制器',
'8' => 'URL',
'9' => '地址',
'10' => '不含',
'11' => '域名',
'12' => '兼容机',
'16' => '中华人民共和国'
);给出一个快速的运算方法,不用两层循环挨个比较,那样如果记录是10000条会受不了的。下面给个9700词的附件,大家用于测试,把它直接打开放到字符串中用“,”切分,就成了测试用的数组,最终输出结果词数是3942即为程序算法正确,下一步就看速度了,小于5秒既是可选答案之一。(需要注意的是,最终数组结果的顺序与原数组顺序相同,如果你给数组排序了,还需要排回去。)
string.zip
( 28.32 KB 下载:8 次 )
最佳答案