面试题答案
一键面试思路
- 可以使用Rust标准库中的排序函数来解决这个问题。由于我们希望相同元素相邻,对向量进行排序后,相同元素自然会相邻。排序操作的时间复杂度通常为 $O(n log n)$,这在大多数情况下是比较高效的,并且相对简单,能满足减少操作步骤的要求。
代码实现
fn group_duplicates(mut nums: Vec<i32>) -> Vec<i32> {
nums.sort();
nums
}
你可以使用以下方式调用这个函数:
fn main() {
let nums = vec![3, 2, 1, 2, 3];
let result = group_duplicates(nums);
println!("{:?}", result);
}