阿里云面试题更新 2026-08-05

请实现搜索旋转排序数组的算法:给定一个按升序排列、并在某个未知点旋转过的数组,以及一个目标值,判断目标值是否存在并返回其下标。要求时间复杂度为 O(log n)。

阿里云人工智能专业服务编码实现问题拆解技术原理

考察说明

考察二分查找的变体与对旋转数组特性的理解

回答思路

  1. 明确二分查找的边界条件与循环不变式
  2. 能通过比较中间值与边界判断有序区间
  3. 覆盖旋转点两侧及边界场景,避免死循环
  4. 正确返回下标或-1并分析时间复杂度
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。