给定一个带有n个元素的圆形右移排序数组。 (假设转变的数量为'k',k在这里是未知的)。已要求它在 log n 时间内搜索数组中的键。
实施例
给定圆右移分选阵列:8 9 10 1 2 3 4 5 6 7
搜索键5。
请注意,算法的时间复杂度应为log n。
我的方法:使用二进制搜索会给出log n时间复杂度,但是,我们需要一个排序数组。但是一个移位的数组在移位后丢失了它的排序顺序,并在log n中再次对其进行排序。时间复杂度是我没有得到的部分。 请注意'k'在此处未知。
我们甚至可以在时间复杂度上解决这个问题吗?
在期待中感谢你。