求改
查看原帖
求改
1051846
shalion楼主2024/11/30 18:25

60分求改...

自我感觉良好

#include<bits/stdc++.h>//万能头文件
using namespace std;
int dp[1005][1005];
char ss[2005];
int main()
{
	scanf("%s",ss+1);
	int len=strlen(ss+1);//字符数组,取长度
	for(int i=1;i<=len;i++) dp[i][i]=0;//一个字符不用操作
	for(int d=1;d<=len-1;d++)//枚举【左端点-右端点】
	{
		for(int i=1;i+d<=len;i++)//枚举左端点,保证右不越界
		{
			int j=i+d;//右端点
			if(ss[i]==ss[j]&&j-i!=1)
			{
				dp[i][j]=dp[i+1][j-1];
			}
			else
			{
				dp[i][j]=1+min(dp[i+1][j],dp[i][j-1]);
			}
		}
	}
	cout<<dp[1][len];
	return 0;
}
2024/11/30 18:25
加载中...