java - 不允许对元素进行计数的排序算法

标签 java sorting

这道题我在某公司面试中看到过crosss,但是我对这道题首先不是很清楚。你们能澄清我的疑问吗?

Question : Write a program to sort an integer array which contains Only 0's,1's and 2's. Counting of elements not allowed, you are expected to do it in O(n) time complexity.

Ex Array : {2, 0, 1, 2, 1, 2, 1, 0, 2, 0}

最佳答案

输出到链表。

  • 记住列表的开头。
  • 记住 1 开始的位置。
  • 记住列表的末尾。

遍历整个数组。

  • 如果遇到0,将其添加到链表的第一个位置。
  • 如果遇到1,就在1的位置后面加上。
  • 如果遇到 2,请将其添加到列表末尾。

HTH

关于java - 不允许对元素进行计数的排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6660933/

相关文章:

java - BXGY促销多重火爆-合格订单消耗

c - 按升序接受链表中的元素,但显示函数打印最小的数字而不是整个链表

sorting - Elasticsearch排序是在索引分析(扫描)之后还是之前进行的?

javascript - 使用 jQuery 从 JSON 文件中仅选择前 10 个值

javascript - 防止谷歌图表中的默认排序事件

c - 尝试编写一个 C 程序来按字母顺序对二维数组中的 25 个单词进行冒泡排序

java - 如何在 IntelliJ 运行/调试配置中默认启用 Single Instance Only 选项?

java - 如何在 RESTful Web 服务中将参数传递给 GET 方法

java - Eclipse 自动添加继承文档来覆盖

java - 根据 Java 中的值对 map 进行排序的最简单方法是什么?