荷兰国旗问题
荷兰国旗问题分为了两种:
- 给定一个数 num ,将数组中小于等于这个数的放左边,大于这个数据放右边。
- 给定要给数 num ,将数组中小于这个数据放左边,等于这个数的放中间,大于这个数的放右边。好似荷兰国旗样分成 3 部分,称之为荷兰国旗问题。
第二种是第一种的升级版,可以注意到只要求大小没有要求顺序,因此只考虑 2 个数的比较即可,不用全局考虑。
第一种
第一种种问题实现思路:
引入一个变量 left 标记 小于 num 数组
右边界,从 0 开始。
引入一个变量i,i从左到右,循环遍历数组
2025/4/16...大约 6 分钟