C++程序 将所有字符串变成相等的操作的最小操作次数
给定n个字符串,它们是彼此的排列。我们需要通过一个操作使所有字符串相同,该操作将任何字符串的前字符移到末尾。
示例:
将末尾到操作基本上是左旋。我们使用“检查字符串是否彼此旋转”中讨论的方法来计算使两个字符串相同所需的迁移到前面操作的数量。我们一个一个地将每个字符串作为目标字符串。我们计算旋转次数,以使所有其他字符串与当前目标相同,并最后返回所有计数的最小值。
下面是上述方法的实现。
输出:
时间复杂度: O(N 3 )(由于使用了两个嵌套循环,N是内部for循环中使用的find()函数)
空间复杂度 : O(1)因为使用常量变量