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

[pull] master from youngyangyang04:master #33

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
pull merged 31 commits into AlgorithmAndLeetCode:master from youngyangyang04:master
Jul 13, 2022
Merged
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
3d6baa3
增加 java 一维dp数组解法代码
dcj00 May 19, 2022
9ccacf5
Merge branch 'youngyangyang04:master' into master
dcj00 Jun 3, 2022
cfa0504
Update 0056.合并区间.md
silaslll Jun 6, 2022
091204c
添加(0129.求根节点到叶节点数字之和.md):增加go版本
Hanmengnan Jun 7, 2022
97fc88e
添加 0046.全排列.md Scala版本
wzqwtt Jun 7, 2022
8537401
添加 0047.全排列II.md Scala版本
wzqwtt Jun 7, 2022
d3e9706
Merge branch 'youngyangyang04:master' into master
dcj00 Jun 7, 2022
fa26fb3
增加 java dp解法
dcj00 Jun 7, 2022
7b95f17
添加(0001.两数之和.md):Dart版本
freestyletime Jun 7, 2022
371564b
添加 0051.N皇后.md Scala版本
wzqwtt Jun 7, 2022
ea27b3c
Merge branch 'youngyangyang04:master' into master
freestyletime Jun 12, 2022
d8ae676
Merge branch 'youngyangyang04:master' into master
freestyletime Jun 14, 2022
ffe981f
0977. 有序数组的平方
AronJudge Jun 26, 2022
55086c2
Update 0226.翻转二叉树.md JavaScript递归版本
w2xi Jul 2, 2022
11b701f
0018 Java代码部分增加剪枝操作,不然Leetcode不能通过
AronJudge Jul 3, 2022
7064434
Merge branch 'youngyangyang04:master' into master
AronJudge Jul 3, 2022
305955e
Merge branch 'youngyangyang04:master' into master
freestyletime Jul 5, 2022
28c452d
Merge branch 'youngyangyang04:master' into master
w2xi Jul 6, 2022
0ee18c3
Update 0450.删除二叉搜索树中的节点.md JavaScript递归版本
w2xi Jul 6, 2022
50d7e35
Merge branch 'youngyangyang04:master' into master
AronJudge Jul 11, 2022
85e0d6c
更新0347 前K个高频元素
AronJudge Jul 11, 2022
d8253df
Merge branch 'youngyangyang04:master' into master
AronJudge Jul 12, 2022
ba081f8
更新 0104. 二叉树最大深度
AronJudge Jul 12, 2022
579f905
Merge pull request #1514 from AronJudge/master
youngyangyang04 Jul 13, 2022
7d2ad4b
Merge pull request #1446 from silaslll/patch-3
youngyangyang04 Jul 13, 2022
f9d3ae7
Merge pull request #1447 from Hanmengnan/master
youngyangyang04 Jul 13, 2022
0b2e309
Merge pull request #1448 from wzqwtt/backtracking06
youngyangyang04 Jul 13, 2022
935d82b
Merge pull request #1449 from dcj00/master
youngyangyang04 Jul 13, 2022
28857f2
Merge pull request #1450 from freestyletime/master
youngyangyang04 Jul 13, 2022
e3a0207
Merge pull request #1451 from wzqwtt/backtracking07
youngyangyang04 Jul 13, 2022
b8c3d45
Merge pull request #1505 from w2xi/master
youngyangyang04 Jul 13, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
添加 0051.N皇后.md Scala版本
  • Loading branch information
wzqwtt committed Jun 7, 2022
commit 371564ba3b9a2b9641cafc05eb033f8d162aec81
74 changes: 73 additions & 1 deletion problems/0051.N皇后.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -455,7 +455,7 @@ var solveNQueens = function(n) {
};
```

## TypeScript
### TypeScript

```typescript
function solveNQueens(n: number): string[][] {
Expand Down Expand Up @@ -683,5 +683,77 @@ char *** solveNQueens(int n, int* returnSize, int** returnColumnSizes){
}
```

### Scala

```scala
object Solution {
import scala.collection.mutable
def solveNQueens(n: Int): List[List[String]] = {
var result = mutable.ListBuffer[List[String]]()

def judge(x: Int, y: Int, maze: Array[Array[Boolean]]): Boolean = {
// 正上方
var xx = x
while (xx >= 0) {
if (maze(xx)(y)) return false
xx -= 1
}
// 左边
var yy = y
while (yy >= 0) {
if (maze(x)(yy)) return false
yy -= 1
}
// 左上方
xx = x
yy = y
while (xx >= 0 && yy >= 0) {
if (maze(xx)(yy)) return false
xx -= 1
yy -= 1
}
xx = x
yy = y
// 右上方
while (xx >= 0 && yy < n) {
if (maze(xx)(yy)) return false
xx -= 1
yy += 1
}
true
}

def backtracking(row: Int, maze: Array[Array[Boolean]]): Unit = {
if (row == n) {
// 将结果转换为题目所需要的形式
var path = mutable.ListBuffer[String]()
for (x <- maze) {
var tmp = mutable.ListBuffer[String]()
for (y <- x) {
if (y == true) tmp.append("Q")
else tmp.append(".")
}
path.append(tmp.mkString)
}
result.append(path.toList)
return
}

for (j <- 0 until n) {
// 判断这个位置是否可以放置皇后
if (judge(row, j, maze)) {
maze(row)(j) = true
backtracking(row + 1, maze)
maze(row)(j) = false
}
}
}

backtracking(0, Array.ofDim[Boolean](n, n))
result.toList
}
}
```

-----------------------
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>

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