首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据结构算法操作试题(C++/Python)——下一个排列

1. 题目

leetcode 链接:https://leetcode-cn.com/problems/next-permutation/

2. 解答

python:60ms, 10.7mb

代码语言:javascript
复制
class Solution(object):
    def nextPermutation(self, nums):
        """
        :type nums: List[int]
        :rtype: None Do not return anything, modify nums in-place instead.
        """
        preMax, minIndex = -1, 0
        for i in range(len(nums) - 1):
            if nums[i] < nums[i + 1]:
                preMax = i
        if preMax == -1:
            nums.reverse()
            return
        for i in range(preMax + 1, len(nums)):
            if nums[i] > nums[preMax]:
                minIndex = i
        nums[preMax], nums[minIndex] = nums[minIndex], nums[preMax]
        nums[preMax + 1:] = nums[:preMax:-1]

其他方法看 leetcode 链接 评论区~

下一篇
举报
领券