Skip to content

Commit b1d129a

Browse files
committed
fix: 修复问题
1 parent 9193e81 commit b1d129a

File tree

6 files changed

+438
-0
lines changed

6 files changed

+438
-0
lines changed

package-lock.json

Lines changed: 255 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"@babel/preset-env": "^7.14.4",
2424
"babel-jest": "^27.0.2",
2525
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
26+
"esno": "^0.16.3",
2627
"jest": "^27.0.3",
2728
"nodemon": "^2.0.7"
2829
},

回溯/全排列.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
2+
3+
// [1,2,3]
4+
// return [[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]
5+
6+
7+
function permute(nums: number[]): number[][] {
8+
9+
const res: number[][] = []; // 存储结果
10+
const paths: number[] = []; // 存储下标
11+
const used: boolean[] = []; // 存储是否使用过
12+
permuteHelper(nums, 0, paths, used, res);
13+
return res;
14+
}
15+
16+
function permuteHelper (nums: number[], depth: number, paths: number [], used: boolean [], res: number[][]) {
17+
if(nums.length === depth) {
18+
console.log(paths);
19+
res.push(paths);
20+
return;
21+
}
22+
for(let i = 0; i < nums.length; i++) {
23+
if(used[i]) {
24+
continue;
25+
}
26+
paths.push(nums[i]);
27+
used[i] = true;
28+
permuteHelper(nums, depth + 1, paths, used, res);
29+
paths.pop();
30+
used[i] = false;
31+
}
32+
}
33+
34+
console.log( permute([1,2,3]) )

回溯/括号生成.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
2+
3+
// 选括号
4+
// {{{}}}
5+
6+
7+
function generateParenthesis(n: number): string[] {
8+
if (n < 1) return [];
9+
const res: string[] = [];
10+
dfs('', 0, n, res)
11+
return res;
12+
};
13+
14+
function dfs(cur: string, start, depth = 0, res) {
15+
if (depth === 0) {
16+
res.push(cur);
17+
return;
18+
} else {
19+
// cur[start] = '(';
20+
// dfs(current, pos + 1, result);
21+
// current[pos] = ')';
22+
// dfs(current, pos + 1, result);
23+
}
24+
25+
}
26+
27+
console.log(
28+
generateParenthesis(2))

0 commit comments

Comments
 (0)