leetcode 31. 下一个排列
下一个排列:
从右往左找第一个非递增,然后在区间从右往左找第一个比它大的,替换+逆序
上一个排列:
【注意】不等于逆序后做下一个排列后再逆序回!!!
从右往左找第一个非递减,然后在区间从右往左找第一个比它小的,替换+逆序
【注意】可以等价于预先对数组内元素取相反数后再进行下一个排列然后再取回相反数
leetcode 31. 下一个排列
下一个排列:
从右往左找第一个非递增,然后在区间从右往左找第一个比它大的,替换+逆序
上一个排列:
【注意】不等于逆序后做下一个排列后再逆序回!!!
从右往左找第一个非递减,然后在区间从右往左找第一个比它小的,替换+逆序
【注意】可以等价于预先对数组内元素取相反数后再进行下一个排列然后再取回相反数