排列(permutation)是指从 1~k k 个正整数随意摆放组成的序列。比如 [2, 5, 4, 1, 3] 是一个排列;但是 [1, 2, 2] 不是一个排列,因为有重复的 2;[2, 3, 4] 不是一个排列,因为没有 1。
我们很容易就能知道,k 长度的排列有 k! 个。那么把这些排序按字典序排列,比如 3 长度的:[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1],我们可以把 [1, 3, 2] 叫作 [1, 2, 3] 的「下一项」,对于尾部的 [3, 2, 1] 它的下一项我们把定义为 [1, 2, 3],也就是这个序列的第一项。
我将给你一个 t 个 k 长度的序列,你要做的是分别求出它们的下一项。