你可以使用桶排序算法来解决这个问题。具体步骤如下: 1. 创建三个桶,分别用于存储0、1和2。 2. 遍历数组arr,将每个元素放入对应的桶中。 3. 遍历三个桶,将元素依次放入新的数组result中。 以下是使用Python实现的代码: ```python def sort_arr(arr): buckets = [0, 0, 0] for num in arr: buckets[num] += 1 result = [] for i in range(3): result.extend([i] * buckets[i]) return result ``` 你可以调用这个函数来对数组进行排序: ```python arr = [2, 0, 1, 1, 2, 0, 2, 1, 0] sorted_arr = sort_arr(arr) print(sorted_arr) # 输出:[0, 0, 0, 1, 1, 1, 2, 2, 2] ``` 这个算法的时间复杂度为O(n),空间复杂度也为O(n)。
点赞 评论

相关推荐

ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
牛客网
牛客企业服务