Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit185d63a

Browse files
authored
Update 0022-generate-parentheses.js
1 parent25ca06e commit185d63a

File tree

1 file changed

+23
-24
lines changed

1 file changed

+23
-24
lines changed
Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
/**
2-
*https://leetcode.com/problems/generate-parentheses
2+
*DFS
33
* Time O(((4^N) / (N * SQRT(N)))) | Space O(((4^N) / (N * SQRT(N))))
44
* Time O(2^N) | Space O(2^N)
5+
* https://leetcode.com/problems/generate-parentheses
56
*@param {number} n
67
*@return {string[]}
78
*/
8-
vargenerateParenthesis=(n)=>dfs(n);/* Time O(2^N) | Space O(2^N) */
9+
vargenerateParenthesis=(n)=>dfs(n);
910

1011
constdfs=(n,combos=[],open=0,close=0,path=[])=>{
11-
constisBaseCase=path.length===(n*2);
12+
constisBaseCase=(path.length===(n*2));
1213
if(isBaseCase){
1314
combos.push(path.join(''));/* Space O(N + N) */
1415

@@ -25,35 +26,36 @@ const dfs = (n, combos = [], open = 0, close = 0, path = []) => {
2526
}
2627

2728
constbackTrackOpen=(n,combos,open,close,path)=>{
28-
path.push('(');/* | Space O(N) */
29+
path.push('(');/* Space O(N) */
2930
dfs(n,combos,(open+1),close,path);/* Time O(2^N) | Space O(2^N) */
3031
path.pop();
3132
}
3233

3334
constbackTrackClose=(n,combos,open,close,path)=>{
34-
path.push(')');/* | Space O(N) */
35+
path.push(')');/* Space O(N) */
3536
dfs(n,combos,open,(close+1),path);/* Time O(2^N) | Space O(2^N) */
3637
path.pop();
3738
}
3839

3940
/**
40-
*https://leetcode.com/problems/generate-parentheses
41+
*BFS
4142
* Time O(((4^N) / (N * SQRT(N)))) | Space O(((4^N) / (N * SQRT(N))))
4243
* Time O(2^N) | Space O(2^N)
44+
* https://leetcode.com/problems/generate-parentheses
4345
*@param {number} n
4446
*@return {string[]}
4547
*/
46-
vargenerateParenthesis=(n)=>bfs(n);/* Time O(2^N) | Space O(2^N) */
48+
vargenerateParenthesis=(n)=>bfs(n);
4749

48-
constbfs=(n,queue,combos=[])=>{
50+
constbfs=(n,combos=[])=>{
4951
constqueue=newQueue([['',0,0]]);
5052

5153
while(!queue.isEmpty()){/* Time O(2^N) */
5254
const[str,open,close]=queue.dequeue();
53-
54-
constisBaseCase=(open===n)&&(close===n);
55+
56+
constisBaseCase=((open===n)&&(close===n));
5557
if(isBaseCase){
56-
combos.push(str);/* Space O(N) */
58+
combos.push(str);/* Space O(N) */
5759

5860
continue;
5961
}
@@ -69,31 +71,28 @@ const bfs = (n, queue, combos = []) => {
6971
}
7072

7173
/**
72-
*https://leetcode.com/problems/generate-parentheses
74+
*DFS
7375
* Time O(((4^N) / (N * SQRT(N)))) | Space O(((4^N) / (N * SQRT(N))))
7476
* Time O(2^N) | Space O(2^N)
77+
* https://leetcode.com/problems/generate-parentheses
7578
*@param {number} n
7679
*@return {string[]}
7780
*/
7881
vargenerateParenthesis=(n,combos=[])=>{
79-
constisBaseCase=n===0;
82+
constisBaseCase=(n===0);
8083
if(isBaseCase){
81-
combos.push('');/* | Space O(N) */
84+
combos.push('');
8285

83-
returncombos;
86+
returncombos
8487
}
8588

86-
returnclosureNumber(n,combos);/* Time O(2^N) | Space O(2^N) */
87-
}
88-
89-
constclosureNumber=(n,combos)=>{
90-
for(letc=0;c<n;c++){/* Time O(N) */
91-
for(constleftofgenerateParenthesis(c)){/* Time O(2^N) | Space O(2^N) */
92-
for(constrightofgenerateParenthesis(((n-1)-c))){/* Time O(2^N) | Space O(2^N) */
93-
combos.push(`(${left})${right}`);/* | Space O(N) */
89+
for(letc=0;(c<n);c++){
90+
for(constleftofgenerateParenthesis(c)){
91+
for(constrightofgenerateParenthesis(((n-1)-c))){
92+
combos.push(`(${left})${right}`);
9493
}
9594
}
9695
}
9796

9897
returncombos
99-
}
98+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp