31. 下一个排列
https://leetcode-cn.com/problems/next-permutation/
解法一:
从后往前找降序(非严格,>=)的起点,记为i。此时[i+1,n-1]
是降序(非严格),从n-1往回找第一个大于i的数j,将i,j的数交换。再将[i+1,n-1]
区间逆序即可。
问题在于列表的下标逆序操作nums = nums[::-1]
好像原地操作不管用,在pycharm上是管用的,这里用reverse方法代替
最后更新于
https://leetcode-cn.com/problems/next-permutation/
从后往前找降序(非严格,>=)的起点,记为i。此时[i+1,n-1]
是降序(非严格),从n-1往回找第一个大于i的数j,将i,j的数交换。再将[i+1,n-1]
区间逆序即可。
问题在于列表的下标逆序操作nums = nums[::-1]
好像原地操作不管用,在pycharm上是管用的,这里用reverse方法代替
最后更新于