Skip to content

Commit

Permalink
➕60
Browse files Browse the repository at this point in the history
  • Loading branch information
0xcaffebabe committed May 10, 2024
1 parent cff14f5 commit bc44fac
Show file tree
Hide file tree
Showing 3 changed files with 86 additions and 4 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
57 | [57.插入区间](/%E7%AE%97%E6%B3%95/001-500/57.%E6%8F%92%E5%85%A5%E5%8C%BA%E9%97%B4/57.%E6%8F%92%E5%85%A5%E5%8C%BA%E9%97%B4.java)
58 | [58. 最后一个单词的长度](/%E7%AE%97%E6%B3%95/001-500/58.%20%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E5%8D%95%E8%AF%8D%E7%9A%84%E9%95%BF%E5%BA%A6)
59 | [59.螺旋矩阵-ii](/%E7%AE%97%E6%B3%95/001-500/59.%E8%9E%BA%E6%97%8B%E7%9F%A9%E9%98%B5-ii/59.%E8%9E%BA%E6%97%8B%E7%9F%A9%E9%98%B5-ii.java)
60 | [60.排列序列](/%E7%AE%97%E6%B3%95/001-500/60.%E6%8E%92%E5%88%97%E5%BA%8F%E5%88%97/60.%E6%8E%92%E5%88%97%E5%BA%8F%E5%88%97.java)
61 | [61.旋转链表](/%E7%AE%97%E6%B3%95/001-500/61.%E6%97%8B%E8%BD%AC%E9%93%BE%E8%A1%A8/61.%E6%97%8B%E8%BD%AC%E9%93%BE%E8%A1%A8.java)
62 | [62.不同路径](/%E7%AE%97%E6%B3%95/001-500/62.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84/62.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84.java)
63 | [63.不同路径-ii](/%E7%AE%97%E6%B3%95/001-500/63.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84-ii/63.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84-ii.java)
Expand Down
8 changes: 4 additions & 4 deletions 算法/001-500/31.下一个排列/31.下一个排列.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
*
* [31] 下一个排列
*
* 265/265 cases passed (9 ms)
* Your runtime beats 1.37 % of java submissions
* Your memory usage beats 72.45 % of java submissions (41.6 MB)
* 266/266 cases passed (0 ms)
* Your runtime beats 100 % of java submissions
* Your memory usage beats 82.04 % of java submissions (42.1 MB)
*/

// @lc code=start
Expand Down Expand Up @@ -40,7 +40,7 @@ public void nextPermutation(int[] nums) {
int t = nums[p];
nums[p] = nums[q];
nums[q] = t;
System.out.println(p + "|" + q);
// System.out.println(p + "|" + q);
sort(nums, p + 1, n);
}

Expand Down
81 changes: 81 additions & 0 deletions 算法/001-500/60.排列序列/60.排列序列.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
/*
* @lc app=leetcode.cn id=60 lang=java
* @lcpr version=
*
* [60] 排列序列
*
* 200/200 cases passed (1696 ms)
* Your runtime beats 5.03 % of java submissions
* Your memory usage beats 11.93 % of java submissions (43.8 MB)
*/


// @lcpr-template-start

// @lcpr-template-end
// @lc code=start

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

class Solution {
List<Integer> ans;
int[] nums;
boolean[] visted;
int k;
public String getPermutation(int n, int k) {
nums = new int[n];
visted = new boolean[n + 1];
this.k = k;
for(int i = 1; i <= n; i++) nums[i - 1] = i;
recursive(new ArrayList<>());
// System.out.println(ans);
StringBuilder sb = new StringBuilder();
for(var i: ans) sb.append(i);
return sb.toString();
}

void recursive(List<Integer> origin) {
if (origin.size() == nums.length) {
ans = origin;
k--;
return;
}
if (k == 0) return;
for(int i : nums) {
if (visted[i]) continue;
var list = new ArrayList<Integer>();
for(int o : origin) list.add(o);

list.add(i);
visted[i] = true;
recursive(list);
visted[i] = false;
}
}
}
// @lc code=end



/*
// @lcpr case=start
// 3\n3\n
// @lcpr case=end
// @lcpr case=start
// 4\n9\n
// @lcpr case=end
// @lcpr case=start
// 3\n1\n
// 1\n1\n
// 9\n362879\n
// 9\n362879\n
// 9\n362879\n
// 9\n116907\n
// @lcpr case=end
*/

0 comments on commit bc44fac

Please sign in to comment.