Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun nextPermutation(input: List<Int>): List<Int> {
- var res = input.toMutableList()
- var k = -1
- for (i in input.size - 2 downTo 0) {
- if (res[i] < res[i+1]) {
- k = i
- break
- }
- }
- if (k == -1) {
- return listOf(-1)
- }
- var l = k
- for (i in input.size - 1 downTo k) {
- if (res[k] < res[i]) {
- l = i
- break
- }
- }
- val tmp = res[l]
- res[l] = res[k]
- res[k] = tmp
- return res.take(k + 1) + res.drop(k + 1).reversed()
- }
- fun main() {
- val n = readLine()!!.toInt()
- var a = listOf(0, 1, 2,3 ,4,5,6,7,8,9)
- for (i in 1..n) {
- a = nextPermutation(a)
- }
- println(a.joinToString(""))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement