给定一个以逗号分隔数字的字符串(数字可能不止一位),请用尽可能高效的方法,将其中最大的数与第一个数交换,最小的数与最后一个数交换,并说明你采用的思路。
考察说明
考察字符串解析、极值查找与原地交换的实现能力及复杂度分析
回答思路
- 能正确解析多位数与逗号分隔的字符串
- 一次线性扫描同时找到最大数、最小数及其在字符串中的位置
- 正确实现交换,考虑同一位置(如首尾即最大/最小)的边界情况
- 能说明时间复杂度为 O(n) 且空间复杂度可选 O(1) 或 O(数字个数)
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。