有没有人能告诉我K是干嘛的,今天早上讲过了但我忘记了
想了半天没想出来
K的作用就是计算数组长度的一半,这个逆序的思路就是第一个元素和最后一个交换,第二个和倒数第二个交换
那么只需要交换一半(交换到K),再交换就交换回来了。
一般,逆序不就是把头尾一次调换吗?计数用他的一半就可以了
不知道你这个问题是否已经解决, 如果还没有解决的话:最简单的做法应该是直接选择先将集合排序(比如快速排序),然后直接以k为下标从有序集合中获取。但是这样做时间复杂度其实是比较大的。如果要想要提升一下效率,可以考虑在快速排序的原理下稍微做点修改。