给定一个字符串''onmlkjihgfedcba'对它升序排序,我们知道这是完全逆序,交换次数(n-1)*n/2n=15带入即可我的疑惑在于,已知交换次数[0,(n-1)*n/2]那么给定一个交换次数 字符串的排列顺序是唯一的吗简单来说就是两者是不是一一对应的,如果是或不是,为什么呢?请求指导
收起
不是。例如 omn 和 nom 交换次数都是 1,也就是说:对长度为 3 的字符串,已知交换次数为 1 时有 2 种可能的排序。换个思路,甚至可以求出有多少种可能的排序:对于一个有序的字符串,任意交换 1次有多少种结果? n-1对于一个有序的字符串,任意交换 2次有多少种结果?如果允许返回式交换,有 (n-1)(n-1) 种结果;如果不允许返回,有 (n-1)(n-2) 种结果。
报告相同问题?