首页 > 代码库 > 字符串相似度算法,AS3实现,用于判断聊天广告
字符串相似度算法,AS3实现,用于判断聊天广告
/** * 计算把source经过几个步骤可以转变到target的值 * @param source * @param target * @return * */ public static function editDistance(source:String,target:String):int { var slen:int = source.length; var tlen:int = target.length; var d:Array = []; for(var i:int=0;i<=slen;i++){ d[i] = []; d[i][0] = i; if(i==0){ for(var j:int=1;j<=tlen;j++){ d[0][j] = j; } } else { for(var j:int=1;j<=tlen;j++){ d[i][j] = 0; } } } for(var i:int=1;i<=slen;i++){ for(var j:int=1;j<=tlen;j++){ if(source.charCodeAt(i-1) == target.charCodeAt(j-1)){ d[i][j] = d[i-1][j-1]; } else { var insert:int = d[i][j-1]+1; var del:int = d[i-1][j]+1; var update:int = d[i-1][j-1]+1; d[i][j] = Math.min(insert,del)>Math.min(del,update)? Math.min(del,update):Math.min(insert,del); } } } return d[slen][tlen]; } /** * 相似度计算 * @param source * @param target * @return * */ public static function getSimilarityRate(source:String,target:String):Number { return 1-editDistance(source,target)/Math.max(source.length,target.length); }
其实代码参考http://www.blogjava.net/wangxinsh55/archive/2012/02/02/368414.html
主要是因为最近实在受不了游戏里面聊天频繁发送,鉴于此我们就做了一个是否广告帐号的判断。
字符串相似度算法,AS3实现,用于判断聊天广告
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。