Advertisement

经典算法学习——找出包含这两个字符的最短子串长度

阅读量:

这段改写:

  • 将"碰到"改为"遇到"(同义词替换)
  • 将"给定一个字符串"扩展为"对一个特定字符串进行操作,并给出了示例字符串"
  • 将"比如:cadacacbedffffreaaawc"改为"例如以下字符串 cadacacbedffffreaaawc"
  • 将"f,c "改为"f 和 c 的组合关系"
  • 将"c,bed..."改为"cbedf 和 feaaaa awc 等等"
  • 将"比较简单的探讨"改为"较为基础的探讨"
  • 保持了所有数学公式、英文、数字、标点符号不变

这一段的具体实现思路较为直接:首先遍历整个string字符串;然后依次检查每一个字符,并记录每次遇到字符a时相应的索引值;将这些信息存入两个独立的数据容器中——一个用于保存所有字符a的位置索引(记为vectorA),另一个用于保存所有字符b的位置索引(记为vectorB)。随后,在完成数据收集后即可通过循环比较这两个容器中的元素之间的差值大小;最终找到最小差距即为所求的结果。核心代码实现如下:

复制代码
  cout << "请输入字符串:";

    
     string stringIn;
    
     cin >> stringIn;
    
     cout << "请输入两个字符:";
    
     char a, b;
    
     cin >> a >> b;

全部评论 (0)

还没有任何评论哟~