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

Commit 5b768cd

Browse files
authored
feat: add js solution to lc problem: No.0052 (doocs#3232)
1 parent 0f76252 commit 5b768cd

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed

‎solution/0000-0099/0052.N-Queens II/README.md‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,34 @@ function totalNQueens(n: number): number {
220220
}
221221
```
222222

223+
#### JavaScript
224+
225+
```js
226+
function totalNQueens(n) {
227+
const cols = Array(10).fill(false);
228+
const dg = Array(20).fill(false);
229+
const udg = Array(20).fill(false);
230+
let ans = 0;
231+
const dfs = i => {
232+
if (i === n) {
233+
++ans;
234+
return;
235+
}
236+
for (let j = 0; j < n; ++j) {
237+
let [a, b] = [i + j, i - j + n];
238+
if (cols[j] || dg[a] || udg[b]) {
239+
continue;
240+
}
241+
cols[j] = dg[a] = udg[b] = true;
242+
dfs(i + 1);
243+
cols[j] = dg[a] = udg[b] = false;
244+
}
245+
};
246+
dfs(0);
247+
return ans;
248+
}
249+
```
250+
223251
#### C#
224252

225253
```cs

‎solution/0000-0099/0052.N-Queens II/README_EN.md‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,34 @@ function totalNQueens(n: number): number {
214214
}
215215
```
216216

217+
#### JavaScript
218+
219+
```js
220+
function totalNQueens(n) {
221+
const cols = Array(10).fill(false);
222+
const dg = Array(20).fill(false);
223+
const udg = Array(20).fill(false);
224+
let ans = 0;
225+
const dfs = i => {
226+
if (i === n) {
227+
++ans;
228+
return;
229+
}
230+
for (let j = 0; j < n; ++j) {
231+
let [a, b] = [i + j, i - j + n];
232+
if (cols[j] || dg[a] || udg[b]) {
233+
continue;
234+
}
235+
cols[j] = dg[a] = udg[b] = true;
236+
dfs(i + 1);
237+
cols[j] = dg[a] = udg[b] = false;
238+
}
239+
};
240+
dfs(0);
241+
return ans;
242+
}
243+
```
244+
217245
#### C#
218246

219247
```cs
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
function totalNQueens(n) {
2+
const cols = Array(10).fill(false);
3+
const dg = Array(20).fill(false);
4+
const udg = Array(20).fill(false);
5+
let ans = 0;
6+
const dfs = i => {
7+
if (i === n) {
8+
++ans;
9+
return;
10+
}
11+
for (let j = 0; j < n; ++j) {
12+
let [a, b] = [i + j, i - j + n];
13+
if (cols[j] || dg[a] || udg[b]) {
14+
continue;
15+
}
16+
cols[j] = dg[a] = udg[b] = true;
17+
dfs(i + 1);
18+
cols[j] = dg[a] = udg[b] = false;
19+
}
20+
};
21+
dfs(0);
22+
return ans;
23+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /