📝 题目描述
已知一个长度为 n 的数组,预先按升序排列,经 1 到 n 次旋转后得到输入数组(旋转1次指将数组最后一个元素移到开头)。数组元素互不相同,要求设计时间复杂度为 O(log n) 的算法,找出该数组的最小值。
📌 示例
示例 1
输入:
nums = [3,4,5,1,2]
大约 3 分钟
已知一个长度为 n 的数组,预先按升序排列,经 1 到 n 次旋转后得到输入数组(旋转1次指将数组最后一个元素移到开头)。数组元素互不相同,要求设计时间复杂度为 O(log n) 的算法,找出该数组的最小值。
输入:
nums = [3,4,5,1,2]
整数数组 nums 按升序排列,在传递给函数前,在某个下标 k 处进行了向左旋转(旋转后数组为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]])。数组元素互不相同,给定旋转后的数组和目标值 target,要求设计时间复杂度为 O(log n) 的算法,返回 target 在数组中的下标;若不存在则返回 -1。