#牛客在线求职答疑中心#给定一个数组arr,其中只可能含有0、1、2三个值,请实现arr的排序
全部评论
leetcode原题啊
点赞 回复 分享
发布于 2024-05-24 21:50 上海
你可以使用桶排序算法来解决这个问题。具体步骤如下: 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(1)。
点赞 回复 分享
发布于 2024-05-24 20:35 AI生成

相关推荐

每天投完简历等邮箱,邮箱一亮我满心欢喜打开。。。
wish233:还有每次有电话,都会想是那家公司约面了,接起来:家长您好
点赞 评论 收藏
分享
08-11 17:48
辽宁大学 财务
投秋招已经快两周,每天就是投投投到厌倦然后躺床上刷痘印越刷越焦虑
驼瑞驰_招募评论官版...:你把牛客放中间,那你必得offer的
点赞 评论 收藏
分享
Java大菜狗:纯纯招黑奴,一天还不到两百那么多要求,还不迟到早退,以为啥啊,给一点工资做一堆活,还以不拖欠员工工资为荣,这是什么值得骄傲的事情吗,纯纯***公司
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务