Golang | Leetcode Golang题解之第60题排列序列

题目:

题解:

func getPermutation(n int, k int) string {
    factorial := make([]int, n)
    factorial[0] = 1
    for i := 1; i < n; i++ {
        factorial[i] = factorial[i - 1] * i
    }
    k--

    ans := ""
    valid := make([]int, n + 1)
    for i := 0; i < len(valid); i++ {
        valid[i] = 1
    }
    for i := 1; i <= n; i++ {
        order := k / factorial[n - i] + 1
        for j := 1; j <= n; j++ {
            order -= valid[j]
            if order == 0 {
                ans += strconv.Itoa(j)
                valid[j] = 0
                break
            }
        }
        k %= factorial[n - i]
    }
    return ans
}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-02 07:46:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-02 07:46:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-02 07:46:01       82 阅读
  4. Python语言-面向对象

    2024-05-02 07:46:01       91 阅读

热门阅读

  1. 【DevOps】Docker 详细介绍和技术原理

    2024-05-02 07:46:01       37 阅读
  2. 如何在 Apache 中创建自定义 404 页面

    2024-05-02 07:46:01       33 阅读
  3. github的注册和使用

    2024-05-02 07:46:01       31 阅读
  4. 关于阿里云DataWorks的20道面试题

    2024-05-02 07:46:01       28 阅读
  5. C++每日一练——两个数组的交集

    2024-05-02 07:46:01       30 阅读
  6. Cockpit简介

    2024-05-02 07:46:01       32 阅读
  7. AtCoder Beginner Contest 351(补题A~F)

    2024-05-02 07:46:01       31 阅读
  8. 从0到1使用TS实现一个node.js脚手架工具

    2024-05-02 07:46:01       29 阅读
  9. 微信小程序标题设置

    2024-05-02 07:46:01       31 阅读
  10. MongoDB聚合运算符:$substr

    2024-05-02 07:46:01       30 阅读
  11. Stylus介绍

    2024-05-02 07:46:01       32 阅读
  12. Android学习系列目录

    2024-05-02 07:46:01       39 阅读
  13. OpenCV 开源的计算机视觉和机器学习软件库

    2024-05-02 07:46:01       30 阅读