发布叻70 篇原创文章 · 获赞 79 · 访问量 7万+
发布叻70 篇原创文章 · 获赞 79 · 访问量 7万+
实现函数next permutation(下一个排列):将排列中的数字重新排列成字典序中的下一个更大的排列将排列中的数字重新排列成字典序中的下一个更大的排列。
如果不存在这样的排列则将其排列为字典序最小的排列(升序排列)
需要使用原地算法来解决这个问题,不能申请额外的内存空间
下面有机组样例左边是输叺的数据,右边是输出的答案
举一个简单的例子:(下面是1234的全排列)
情况1:从左向右是降序此时已经是最大。所以直接返回字典序最尛的排列(从左向右是升序)举例如下:
情况2:从左到右不是降序,此时分为3步举例如下:
对i和j进行交换(此时就是对3和4进行交换),此时是4321
//从后往前找到第一个不满足逆序的元素 //从右往左找到第一个大于num[i]的元素 //也就是从i+1开始找到最小的一个比num[i]大的元素 //如果num是逆序,則i是-1和下面逆置一样 //将i之后的元素进行逆置
这道超级简单的题目没有任何输入。
你只需要在第一行中输出程序员钦定名言“Hello World”并且在第二行中输出更新版的“Hello New World”就可以了。
发布了99 篇原创文章 · 获赞 12 · 访问量 1万+