字符串相似度算法,AS3实现,用于判断聊天广告

  1.         /**
             * 计算把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);
            }

     

主要是因为最近实在受不了游戏里面聊天频繁发送,鉴于此我们就做了一个是否广告帐号的判断。

 

转载于:https://www.cnblogs.com/chzcb/p/4000102.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值