概述
static inline int min(int a, int b) { return a < b ? a : b; }
- (float) likePercent:(NSString *)target OrString:(NSString *)orString{
int n = (int)orString.length;
int m = (int)target.length;
if (m==0) return n;
if (n==0) return m;
//Construct a matrix, need C99 support
int matrix[n+1][m+1];
memset(&matrix[0], 0, m+1);
for(int i=1; i<=n; i++) {
memset(&matrix[i], 0, m+1);
matrix[i][0]=i;
} for(int i=1; i<=m; i++) {
matrix[0][i]=i;
} for(int i=1;i<=n;i++) {
unichar si = [orString characterAtIndex:i-1];
for(int j=1;j<=m;j++)
{
unichar dj = [target characterAtIndex:j-1];
int cost;
if(si==dj){
cost=0;
}
else{
cost=1;
}
const int above=matrix[i-1][j]+1;
const int left=matrix[i][j-1]+1;
const int diag=matrix[i-1][j-1]+cost;
matrix[i][j]=min(above,min(left,diag));
}
}
return 100.0 - 100.0*matrix[n][m]/self.length;
}
最后
以上就是干净百合为你收集整理的iOS比较字符串的相似度的全部内容,希望文章能够帮你解决iOS比较字符串的相似度所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复