C++程序 查找字典顺序最小的字符串旋转|集1
写一个代码,在一个循环数组中找到字典序最小的,例如:对于数组BCABDADAB,字典序最小的是ABBCABDAD。
更多示例:
下面是一种简单的解决方案。假设给定的字符串为“str”
1)将“str”连接到它自己上,并将其存储在临时字符串“concat”中。
2)创建一个字符串数组来存储“str”的所有旋转。让数组为“arr”。
3)通过在索引0、1、2..n-1处获取“concat”的子字符串来查找“str”的所有旋转。将这些旋转存储在arr []中
4)对arr []进行排序并返回arr [0]。
下面是上述解决方案的实现。
输出:
上述解决方案的时间复杂度为O(n 2 logn),假设我们使用了O(nLogn)排序算法。