关注
你可以使用桶排序算法来解决这个问题。具体步骤如下:
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)。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
04-06 22:33
西华大学 运维开发工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛油的搬砖plog #
23657次浏览 105人参与
# 大学最后一个寒假,我想…… #
28441次浏览 254人参与
# 一人一个landing小技巧 #
21712次浏览 423人参与
# 运营每日一题 #
67280次浏览 643人参与
# 电网笔面经互助 #
31402次浏览 317人参与
# 面试被问第一学历差时该怎么回答 #
121992次浏览 764人参与
# 找工作的破防时刻 #
23783次浏览 372人参与
# 我在牛爱网找对象 #
177673次浏览 1335人参与
# 为什么那么多公司毁约 #
163050次浏览 1221人参与
# 查收我的offer竞争力报告 #
175894次浏览 1047人参与
# 520告白墙 #
16166次浏览 286人参与
# 2023届毁约公司名单 #
190134次浏览 938人参与
# 实习学不到东西怎么办? #
203027次浏览 2111人参与
# 实习/项目/竞赛奖项,哪个对找工作更重要? #
80069次浏览 1102人参与
# 腾讯音乐求职进展汇总 #
85979次浏览 482人参与
# 25届秋招公司红黑榜 #
259233次浏览 1089人参与
# 我想象的实习vs现实的实习 #
277291次浏览 2207人参与
# 被同事甩锅了怎么办 #
18889次浏览 94人参与
# 哪些企业的面试体验感最差? #
23895次浏览 233人参与
# 我发现一个规律 #
2600次浏览 26人参与