百度面试题更新 2026-08-05

给定一个长度为n的排列nums,如果第一个数字等于1且最后一个数字等于n,则称其半有序。每次可以交换相邻两个元素。求将排列变为半有序所需的最小操作次数。

百度人工智能专业服务问题拆解技术原理

考察说明

考察相邻交换排序中的最小操作次数计算与边界处理

回答思路

  1. 识别目标:将1移到首位,n移到末位所需的最小交换次数
  2. 分别计算1的移动步数和n的移动步数,注意交换时的抵消情况
  3. 处理1和n相邻时的步数调整,避免重复计数
  4. 给出O(n)或O(1)算法并解释正确性
本题已收录答题指导

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

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