题解 | #密码截取#

密码截取

http://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1

#include<stdio.h>

int f_max(int a, int b){ return a>b?a:b; }

int main(){ char data[2500]; scanf("%s", data); int lenth=0; for(; data[lenth] != '\0'; lenth++); intdp=(int)malloc(sizeof(int)lenth); for(int i=0; i<lenth; i++){ dp[i]=(int)malloc(sizeof(int)*lenth); for(int x=0; x<lenth; x++)dp[i][x]=1; } int mmax=1; for(int i=lenth-1; i>=0; i--){//i是左边界 for(int j=0; j<lenth; j++){ if(i>j){ dp[i][j]=0; } else if(i==j){ dp[i][j]=1; } else{ if(i+1==j && data[i] == data[j]){ dp[i][j]=2; mmax=f_max(mmax, dp[i][j]); } else{ if(data[i] == data[j] && dp[i+1][j-1]){ dp[i][j]=dp[i+1][j-1]+2; mmax=f_max(mmax, dp[i][j]); } else{ dp[i][j]=0; } }

        }
    }
}
printf("%d", mmax);

}

全部评论

相关推荐

10-29 15:38
门头沟学院 Java
榕城小榕树:难道你简历里写了配送路径优化算法?
点赞 评论 收藏
分享
废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务