Algorithm(一)荷兰国旗问题

一、经典题目  给定一个数组arr,和一个数num,请把小于等于num的数放在数 组的左边,大于num的数放在数组的右边。 要求额外空间复杂度O(1),时间复杂度O(N) 分析: 总体的思想就是小于num的数推着大于num的数向右走,如果当前数小于num,则直接跳下一个数,同时小于的范围扩大一位,如果是大于则是直接跳下一位,知道遇见小于num的数,在和小于范围的下一个数交换 代码: public
相关文章
相关标签/搜索