百度面试题更新 2026-08-05
给定一个长度为n的排列nums,如果第一个数字等于1且最后一个数字等于n,则称其半有序。每次可以交换相邻两个元素。求将排列变为半有序所需的最小操作次数。
百度人工智能专业服务问题拆解技术原理
考察说明
考察相邻交换排序中的最小操作次数计算与边界处理
回答思路
- 识别目标:将1移到首位,n移到末位所需的最小交换次数
- 分别计算1的移动步数和n的移动步数,注意交换时的抵消情况
- 处理1和n相邻时的步数调整,避免重复计数
- 给出O(n)或O(1)算法并解释正确性
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。