
leetcode做题记录0060
发布日期:2021-05-07 13:48:27
浏览次数:24
分类:原创文章
本文共 878 字,大约阅读时间需要 2 分钟。
leetcode 0060
说明
只是为了记录一下,不求多快,也不深究。
会简要描述思路,代码中不写注释。
如碰到不会做的用了别人代码会在博客中标出。
题目描述
思路
这种全排列第一反应就是深搜,一开始写了一版没过,超时。
然后就稍微改了一下,第一个数字直接算出来,勉强通过。
应该有好办法的,懒得找了。
class Solution { public String getPermutation(int n, int k) { int[] factorial = new int[n]; factorial[0] = 1; for (int i = 1; i < n; i++) { factorial[i] = i * factorial[i - 1]; } int first = 0; first = k % factorial[n - 1] == 0 ? k / factorial[n - 1] : k / factorial[n - 1] + 1; String res = String.valueOf(first); List<String> ls = new ArrayList<String>(); dfs(n, res, ls); return ls.get(k - (first - 1) * factorial[n - 1] - 1); } public void dfs(int n, String res, List<String> ls) { if (res.length() == n) { ls.add(res); return; } for (int i = 1; i <= n; i++) { if (res.contains(String.valueOf(i))) { continue; } else { dfs(n, res + String.valueOf(i), ls); } } }}
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月07日 09时31分55秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【考研英语-基础-简单句】简单句的核心变化_谓语否定与强调_考场攻略
2019-03-04
基于CC2530的跑马灯实验
2019-03-04
17级软件技术二班刘鑫磊安卓学期总结
2019-03-04
配置Log4j详细版
2019-03-04
数据结构 第五章 二叉树-1
2019-03-04
[Easy] 58. Length of Last Word
2019-03-04
[Easy] 100. Same Tree
2019-03-04
[Easy] 136. Single Number
2019-03-04
PVE+集客AC+K2T-AP
2019-03-04
Jetson AGX Xavier硬件自启动
2019-03-04
网页实时显示已经运行了多少天 html+js
2019-03-04
判断移动端(手机)还是客户端(电脑)打开网页并跳转不同页面(首页)
2019-03-04
眼睛跟随鼠标转动的小黄人 html+css+js
2019-03-04
canvas贪吃蛇效果 html+css+js
2019-03-04
跟随鼠标移动的星星✩直接在页面引用✧✧✧
2019-03-04
poj 3660 (floyd)
2019-03-04
8086汇编语言21键电子琴
2019-03-04
找密码
2019-03-04
Python初级知识总结
2019-03-04