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

2024/4/5—力扣—下一个排列

代码实现:

思路:两遍扫描

void swap(int *a, int *b) {int t = *a;*a = *b;*b = t;
}void reverse(int *nums, int l, int r) {while (l < r) {swap(nums + l, nums + r);l++;r--;}
}void nextPermutation(int *nums, int numsSize) {int i = numsSize - 2;while (i >= 0 && nums[i] >= nums[i + 1]) {i--;}if (i >= 0) {int j = numsSize - 1;while (j >= 0 && nums[i] >= nums[j]) {j--;}swap(nums + i, nums + j);}reverse(nums, i + 1, numsSize - 1);
}
http://www.lryc.cn/news/336055.html

相关文章:

  • xss.pwnfunction-Ugandan Knuckles
  • LabVIEW和2D激光扫描的受电弓滑板磨耗精确测量
  • Linux第87步_阻塞IO实验
  • C/C++基础----常量和基本数据类型
  • 什么是生成式AI?有哪些特征类型
  • 《Linux C/C++服务器开发实践》之第7章 服务器模型设计
  • SSH穿透ECS访问内网RDS数据库
  • python 有哪些函数
  • ubuntu web端远程桌面控制
  • PCL 点到三角形的距离(3D)
  • C# wpf 嵌入外部程序
  • 【ELK】ELK企业级日志分析系统
  • 详细的讲一下java的接口回调
  • 如何将powerpoint(PPT)幻灯片嵌入网页中在线预览、编辑并保存到服务器?
  • [Java基础揉碎]日期类
  • 4.10作业
  • Hive概述与基本操作
  • 安装 FFmpeg
  • 18、差分
  • 13 指针(上)
  • AI 对话完善【人工智能】
  • 利用数组储存表格数据
  • [数据概念|数据技术]智能合约如何助力数据资产变现
  • JS中的常见二进制数据格式
  • uniapp开发h5端使用video播放mp4格式视频黑屏,但有音频播放解决方案
  • Hive的分区与排序
  • Objective-C学习笔记(内存管理、property参数)4.9
  • C语言进阶课程学习记录-第29课 - 指针和数组分析(下)
  • 一起学习python——基础篇(13)
  • SOCKS代理概述