LeetCode:99.下一个排列

目录

1.下一个排列


1.下一个排列

cpp 复制代码
class Solution {
public:
    void nextPermutation(vector<int>& nums) {
        int i = nums.size() - 2;
        while(i >= 0 && nums[i] >= nums[i + 1])
            --i;
        if(i >= 0)
        {
            int j = nums.size() - 1;
            while(j >= 0 && nums[i] >= nums[j])
                --j;
            swap(nums[i], nums[j]);
        }
        reverse(i + nums.begin() + 1, nums.end());
    }
};
相关推荐
天赐学c语言11 小时前
1.20 - x的平方根 && vector的扩容机制以及删除元素是否会释放内存
c++·算法·leecode
52Hz11812 小时前
力扣24.两两交换链表中的节点、25.K个一组反转链表
算法·leetcode·链表
老鼠只爱大米12 小时前
LeetCode经典算法面试题 #160:相交链表(双指针法、长度差法等多种方法详细解析)
算法·leetcode·链表·双指针·相交链表·长度差法
ValhallaCoder12 小时前
Day53-图论
数据结构·python·算法·图论
老鼠只爱大米12 小时前
LeetCode经典算法面试题 #84:柱状图中最大的矩形(单调栈、分治法等四种方法详细解析)
算法·leetcode·动态规划·单调栈·分治法·柱状图最大矩形
C雨后彩虹12 小时前
羊、狼、农夫过河
java·数据结构·算法·华为·面试
重生之后端学习13 小时前
19. 删除链表的倒数第 N 个结点
java·数据结构·算法·leetcode·职场和发展
aini_lovee13 小时前
严格耦合波(RCWA)方法计算麦克斯韦方程数值解的MATLAB实现
数据结构·算法·matlab
安特尼13 小时前
推荐算法手撕集合(持续更新)
人工智能·算法·机器学习·推荐算法
鹿角片ljp13 小时前
力扣14.最长公共前缀-纵向扫描法
java·算法·leetcode