题型:单选题
旋转数组是一种常见的数据结构问题,通常是指一个有序数组经过旋转后,使得所有元素逆序排列。整数数组 nums 按升序排列,数组中的值互不相同。在预先未知的某个下标 k(0 <= k < nums.length)上进行了旋转,使数组变为 [nums[k], nums[k + 1],…, nums[n - 1], nums[0], nums[1],…, nums[k - 1]](下标从 0 开始计数)。
现在给定旋转后的数组 nums 和一个整数 target,如果 nums 中存在这个目标值 target,则返回它的下标,否则返回-1。
下面程序中()处应填入的程序是:例如,给定一个数组 [4,5,6,7,0,1,2],它可能经过旋转变为 [0,1,2,4,5,6,7]。二分查找算法搜索旋转排序数组的程序,下面横线中,应填入的一行或多行代码是( )
def search(nums, target): left, right = 0, len(nums) - 1 while left <= right: mid = (left + right) // 2 if nums[mid] == target: return True if nums[mid] > nums[right]: if nums[mid] > target or nums[left] <= target: right = mid - 1 else: left = mid + 1 elif nums[mid] < nums[right]: _______________________ else: right -= 1 return False
A.if nums[mid] < target or nums[right] >= target: lleft = mid - 1 else: lright = mid + 1 |
B.if nums[mid-1] < target and nums[right+1] >= target: left = mid + 1 else: right = mid - 1 |
C.if nums[mid] < target or nums[right] >= target: lleft = mid else: lright = mid |
D.if nums[mid] < target and nums[right] >= target: lleft = mid + 1 else: lright = mid - 1 |
更新时间:2025-05-30 09:34:56
|
【知识点】
CCF—GESP Python五级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
单选题
唯一分解定理描述的内容是()。
| A. 任何正整数都可以表示为两个素数的和。 |
B. 任何大于1的合数都可以唯一分解为有限个质数的乘积。 |
| C. 两个正整数的最大公约数总是等于它们的最小公倍数除以它们的乘积。 |
D. 所有素数都是奇数。 |
2026-07-18
判断题
以下 fib 函数计算第 n 项斐波那契数( fib(0)=0 , fib(1)=1 ),其时间复杂度为 O(n)。()
def fib(n) : if n <= 1 : return n return fib(n - 1) + fib(n - 2)
| A.正确 | B.错误 |
2026-07-18
