Advertisement
asdadsada

Untitled

Nov 14th, 2019
420
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. fun nextPermutation(input: List<Int>): List<Int> {
  2. var res = input.toMutableList()
  3. var k = -1
  4. for (i in input.size - 2 downTo 0) {
  5. if (res[i] < res[i+1]) {
  6. k = i
  7. break
  8. }
  9. }
  10. if (k == -1) {
  11. return listOf(-1)
  12. }
  13. var l = k
  14. for (i in input.size - 1 downTo k) {
  15. if (res[k] < res[i]) {
  16. l = i
  17. break
  18. }
  19. }
  20. val tmp = res[l]
  21. res[l] = res[k]
  22. res[k] = tmp
  23. return res.take(k + 1) + res.drop(k + 1).reversed()
  24. }
  25.  
  26. fun main() {
  27. val n = readLine()!!.toInt()
  28. var a = listOf(0, 1, 2,3 ,4,5,6,7,8,9)
  29. for (i in 1..n) {
  30. a = nextPermutation(a)
  31. }
  32. println(a.joinToString(""))
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement