找出旋转有序数列的中间值

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/m0_37750720/article/details/82532244

描述

给出一个有序数列随机旋转之后的数列,如原有序数列为:[0,1,2,4,5,6,7] ,旋转之后为[4,5,6,7,0,1,2]。 假定数列中无重复元素,且数列长度为奇数。 求出旋转数列的中间值。如数列[4,5,6,7,0,1,2]的中间值为4。

输入样例

4,5,6,7,0,1,2

输出样例

4

我的代码

private static String solution(String line) {
    // 在此处理单行数据
    String[] array = line.split(",");
    int len =  array.length;
    if (len == 1)
        return array[0];
    int head = Integer.parseInt(array[0]);
    int i = 1;
    for (; i < len; i ++) {
        if (Integer.parseInt(array[i]) < head)
            break;
    }
    i = ((len - 1) / 2 + i) % len;
    // 返回处理后的结果
    return array[i];
}

猜你喜欢

转载自blog.csdn.net/m0_37750720/article/details/82532244