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 是数组的长度。
#非技术春招备战日记##软件开发春招备战日记#
        我的思路如下:
从右往左找到第一个非降序的数的位置 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 是数组的长度。
#非技术春招备战日记##软件开发春招备战日记#
全部评论 
 具体运算过程能分享吗》菜鸡一枚
相关推荐
 投递美团等公司10个岗位
投递美团等公司10个岗位 点赞 评论 收藏   
分享
 10-12 19:23
  重庆邮电大学 Java   敢逐云霄志:你打招呼语怎么能这么长,hr都没看下去的欲望,简明扼要说重点,就读于某某学校某某专业,26届应届毕业生,学信网可查,先后在某某公司实习过(如有),然后做过什么项目,想找一份什么样的工作,可实习几个月以上,期待您的回复。
敢逐云霄志:你打招呼语怎么能这么长,hr都没看下去的欲望,简明扼要说重点,就读于某某学校某某专业,26届应届毕业生,学信网可查,先后在某某公司实习过(如有),然后做过什么项目,想找一份什么样的工作,可实习几个月以上,期待您的回复。 点赞 评论 收藏   
分享
  查看3道真题和解析
查看3道真题和解析