当前位置: 首页 > news >正文

31. 下一个排列

问题

整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。

例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。
整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。

例如,arr = [1,2,3] 的下一个排列是 [1,3,2] 。
类似地,arr = [2,3,1] 的下一个排列是 [3,1,2] 。
而 arr = [3,2,1] 的下一个排列是 [1,2,3] ,因为 [3,2,1] 不存在一个字典序更大的排列。
给你一个整数数组 nums ,找出 nums 的下一个排列。

必须 原地 修改,只允许使用额外常数空间。

分析

显然,

代码

class Solution {
public:void nextPermutation(vector<int>& nums) {next_permutation(nums.begin(), nums.end());}
};
http://www.hskmm.com/?act=detail&tid=23027

相关文章:

  • 欧易-(OKX)交易所注册及KYC认证全流程指南
  • APOC(Awesome Procedures On Cypher) 的安装 - 指南
  • Window配置WSL(Ubuntu)环境
  • OI 笑传 #15
  • 2025 年超微粉碎机厂家 TOP 企业品牌推荐排行榜,新型,低温,节能,中药,防爆,化肥,风冷,水冷,大型,超细超微粉碎机推荐这十家公司!
  • 【题目合集】一元二次方程 | 换元思想
  • GeekDoc 中文系列教程 2025.10
  • 贪心算法 | 每周8题(一) - 指南
  • 如何设计出优秀、健壮且易于维护的API——关于HTTP状态码与业务逻辑状态码的处理 - 浪矢
  • 做题记录(Part 1. 基础算法)
  • Android项目实现自动获取手机号一键登录功能
  • 实用指南:零基础学AI大模型之Prompt提示词工程
  • 打造优雅的用户体验:自定义jQuery程序提示插件开发全解析
  • 免费股票API接口全面指南 - 详解
  • 贝尔数
  • 10.2
  • 十月牛气冲天计数题没做
  • ubuntu安装pbc库
  • 《电路基础》第六章学习笔记
  • Manim实现渐变填充特效
  • datadome 隐私模式 ck设置
  • 利用IOT-Tree消息流【标签读写】功能详细说明
  • 2025.10.2 2024CCPC重庆
  • Day09
  • 命令行实用技巧
  • CPU温度查看(Core Temp)
  • 实用指南:Python虚拟环境管理工具virtualenv详解
  • C#简单的连接本地SQL Server
  • 昆明理工大学通信工程26考研招生人数
  • 深入解析:python学智能算法(三十九)|使用PyTorch模块的normal()函数绘制正态分布函数图