荷兰国旗问题17 Mar 2025 | 4 分钟阅读 荷兰国旗问题 (DNF) - 这是由 Edsger Dijkstra 提出的一个编程问题。 荷兰国旗由三种颜色组成:白色、红色和蓝色。 任务是随机排列白色、红色和蓝色的球,使相同颜色的球放在一起。 对于 DNF(荷兰国旗问题),我们在线性时间内对 0、1 和 2 的数组进行排序,而不会消耗任何额外的空间。 我们必须记住,此算法只能在具有三个唯一元素的数组上实现。 算法 -
情况
代码 -(C 语言)输出 - 执行算法前的数组:0 1 0 1 2 0 1 2 执行 DNFS 算法后的数组:0 0 0 1 1 1 2 2 ![]() 代码 -(JAVA 语言)输出 - 执行 DNFS 算法前的数组:0 1 0 1 2 0 1 2 执行 DNFS 算法后的数组:0 0 0 1 1 1 2 2 ![]() 代码 -(PYTHON 语言)输出 - 执行算法前的数组:0 1 0 1 1 2 0 1 2 执行 DNFS 算法后的数组:0 0 0 1 1 1 1 2 2 ![]() 下一个主题最长回文子序列 |
我们请求您订阅我们的新闻通讯以获取最新更新。