leetcode31 chat解法

解释以下你的思路
我的思路如下:

从右往左找到第一个非降序的数的位置 i,即满足 nums[i] < nums[i+1] 的最大下标 i。
如果不存在这样的 i,则数组已经是字典序最大的排列,直接翻转整个数组得到字典序最小的排列。
从右往左找到第一个大于 nums[i] 的数的位置 j,即满足 nums[j] > nums[i] 的最小下标 j。
交换 nums[i] 和 nums[j]。
将 i+1 及其右边的数按升序排列,因为这些数已经是降序的了。
例如,对于数组 nums = [1, 2, 5, 4, 3],按照上述步骤,可以得到下一个排列 [1, 3, 2, 4, 5]。

该算法的时间复杂度为 O(n),其中 n 是数组的长度。

#非技术春招备战日记##软件开发春招备战日记#
全部评论
具体运算过程能分享吗》菜鸡一枚
点赞 回复 分享
发布于 2023-03-28 16:54 四川

相关推荐

04-11 15:34
已编辑
华中科技大学 网络安全
疯犬丨哈士奇:意思就是:我们还有其他更优秀的人在等回复,如果他们不要这个机会就会来找你
点赞 评论 收藏
分享
头像
04-17 09:29
已编辑
湖南农业大学 后端
睡姿决定发型丫:本硕末9也是0offer,简历挂了挺多,只有淘天 美团 中兴给了面试机会,淘天二面挂,美团一面kpi面,中兴一面感觉也大概率kpi(虽然国企,但一面0技术纯聊天有点离谱吧)
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务