排列题

作者: shrinkle | 来源:发表于2019-03-26 07:55 被阅读0次

    52.下一个排列

    title:给定一个整数数组来表示排列,找出其之后的一个排列

    题解:从最后一个位置开始,找到一个上升点,上升点之前的无需改动。然后,翻转上升点之后的降序。在降序里,找到第一个比上升点大的,交换位置。

    reverse函数:

    while (i1 < i2) {

                *i1 ^= *i2; 

                *i2 ^= *i1; 

                *i1 ^= *i2; 

                i1++; 

                i2--; 

    190.下一个排列2

    给定一个若干整数的排列,给出按正数大小进行字典序从小到大排序后的下一个排列。

    如果没有下一个排列,则输出字典序最小的序列。

    相关文章

      网友评论

          本文标题:排列题

          本文链接:https://www.haomeiwen.com/subject/xoyrvqtx.html