给定两个字符串S和T,找出S中最短子序列的长度,该长度不是T中的子序列

时间:2020-07-03 18:44:20

标签: dynamic-programming

这里m和n是字符串s和t的长度。 如果(n == 0){ 返回1;
} 如果(m == 0) 返回INT_MAX;

请向我解释这个问题的基本情况

1 个答案:

答案 0 :(得分:0)

如果T的长度为零(n == 0),则S中的一个字符就足以被视为S中的子序列,而这不是其中的子序列。 T,因此:

if (n == 0)
  return 1;

如果我们有一个Sm == 0)的空字符串,则需要一个无穷大字符串才能生成不在T中的子序列,因此:

if (m==0)
  return INT_MAX;

(对无穷大或最大机器数的分配可能在实际应用中阻止了该分支的算法,但也可以从概念上更进一步地实现为标志。)

相关问题