关注
你可以使用桶排序算法来解决这个问题。具体步骤如下:
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)。
查看原帖
点赞 评论
相关推荐
10-18 21:51
西安电子科技大学 C++ 点赞 评论 收藏
分享
牛客热帖
正在热议
# 拼多多求职进展汇总 #
231541次浏览 2026人参与
# 哪些公司校招卡第一学历 #
32530次浏览 102人参与
# 北方华创开奖 #
65707次浏览 546人参与
# 25届秋招总结 #
392365次浏览 3929人参与
# 在职场上,你最讨厌什么样的同事 #
5547次浏览 81人参与
# 地方国企笔面经互助 #
6424次浏览 16人参与
# 阿里云管培生offer #
57724次浏览 1740人参与
# ai智能作图 #
19465次浏览 240人参与
# 硬件兄弟们 甩出你的华为奖状 #
77755次浏览 625人参与
# 实习,投递多份简历没人回复怎么办 #
2434213次浏览 34693人参与
# 工作中,你有没有遇到非常爱骂人的领导? #
4634次浏览 47人参与
# 实习与准备秋招该如何平衡 #
722141次浏览 8549人参与
# 我的实习求职记录 #
6117153次浏览 83931人参与
# 如果再来一次,你还会选择这个工作吗? #
108645次浏览 1090人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
9735次浏览 203人参与
# 签了三方后想毁约怎么办 #
18456次浏览 111人参与
# 游戏求职进展汇总 #
52530次浏览 343人参与
# 夸夸我的求职搭子 #
131901次浏览 1360人参与
# 腾讯求职进展汇总 #
207147次浏览 1693人参与
# 25届机械人为了秋招做了哪些准备? #
24833次浏览 355人参与
# 实习想申请秋招offer,能不能argue薪资 #
35682次浏览 308人参与
# 机械求职避坑tips #
21990次浏览 239人参与