不知为何,各种错误提示
程序:
import java.util.*;
public class Main {
static int min(int x,int y) {
if(x>=y)
return x;
else
return y;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int a,b,f[][]=new int[1010][1010];
String s1,s2;
a=sc.nextInt();
s1=sc.next();
b=sc.nextInt();
s2=sc.next();
for(int i=0;i<=b;i++) f[0][i]=i;
for(int i=0;i<=a;i++) f[i][0]=i;
for(int i=1;i<=a;i++)
for(int j=1;j<=b;i++) {
f[i][j]=min(f[i-1][j]+1,f[i][j-1]+1);
if(s1.charAt(i)==s2.charAt(j)) f[i][j]=min(f[i][j],f[i-1][j-1]);
else f[i][j]=min(f[i][j],f[i-1][j-1]+1);
}
System.out.print(f[a][b]);
sc.close();
}
}
输入:
10
AGTCTGACGC
11
AGTAAGTAGGC
输出:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 10
at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
at java.base/java.lang.String.charAt(String.java:693)
at Main.main(Main.java:23)