3-20 字符串比较问题
问题描述
对于长度相同的 2 个字符串 A 和 B,其距离定义为相应位置字符距离之和。2 个非空格字符的距离是它们的 ASCII 码之差的绝对值。空格与空格的距离为 0;空格与其它字符的距 离为一定值 k。
在一般情况下,字符串 A 和 B 的长度不一定相同。字符串 A 的扩展是在 A 中插入若干 空格字符所产生的字符串。在字符串 A 和 B 的所有长度相同的扩展中,有一对距离最小的 扩展,该距离称为字符串 A 和 B 的扩展距离。
对于给定的字符串 A 和 B,试设计一个算法,计算其扩展距离。
数据输入:
第 1 行是字符串 A;第 2 行是字符串 B。第 3 行是空格与其它字符的距离定值 k。
Java
import java.util.Scanner;
/*
val(i,j): 字符串A和B的子串A[1..i]和B[1..j]的扩展距离
val(i,j)=min{val(i-1,j)+k, val(i,j-1)+k, val(i-1,j-1)+dist(ai, bj)}
*/
public class ZiFuChuanBiJiao {
private