fix(csharp): Modify method name to PascalCase, simplify new expression (#840)

* Modify method name to PascalCase(array and linked list)

* Modify method name to PascalCase(backtracking)

* Modify method name to PascalCase(computational complexity)

* Modify method name to PascalCase(divide and conquer)

* Modify method name to PascalCase(dynamic programming)

* Modify method name to PascalCase(graph)

* Modify method name to PascalCase(greedy)

* Modify method name to PascalCase(hashing)

* Modify method name to PascalCase(heap)

* Modify method name to PascalCase(searching)

* Modify method name to PascalCase(sorting)

* Modify method name to PascalCase(stack and queue)

* Modify method name to PascalCase(tree)

* local check
This commit is contained in:
hpstory
2023-10-08 01:33:46 +08:00
committed by GitHub
parent 6f7e768cb7
commit f62256bee1
129 changed files with 1186 additions and 1192 deletions

View File

@@ -8,11 +8,11 @@ namespace hello_algo.chapter_backtracking;
public class n_queens {
/* 回溯算法N 皇后 */
static void backtrack(int row, int n, List<List<string>> state, List<List<List<string>>> res,
static void Backtrack(int row, int n, List<List<string>> state, List<List<List<string>>> res,
bool[] cols, bool[] diags1, bool[] diags2) {
// 当放置完所有行时,记录解
if (row == n) {
List<List<string>> copyState = new List<List<string>>();
List<List<string>> copyState = new();
foreach (List<string> sRow in state) {
copyState.Add(new List<string>(sRow));
}
@@ -30,7 +30,7 @@ public class n_queens {
state[row][col] = "Q";
cols[col] = diags1[diag1] = diags2[diag2] = true;
// 放置下一行
backtrack(row + 1, n, state, res, cols, diags1, diags2);
Backtrack(row + 1, n, state, res, cols, diags1, diags2);
// 回退:将该格子恢复为空位
state[row][col] = "#";
cols[col] = diags1[diag1] = diags2[diag2] = false;
@@ -39,11 +39,11 @@ public class n_queens {
}
/* 求解 N 皇后 */
static List<List<List<string>>> nQueens(int n) {
static List<List<List<string>>> NQueens(int n) {
// 初始化 n*n 大小的棋盘,其中 'Q' 代表皇后,'#' 代表空位
List<List<string>> state = new List<List<string>>();
List<List<string>> state = new();
for (int i = 0; i < n; i++) {
List<string> row = new List<string>();
List<string> row = new();
for (int j = 0; j < n; j++) {
row.Add("#");
}
@@ -52,9 +52,9 @@ public class n_queens {
bool[] cols = new bool[n]; // 记录列是否有皇后
bool[] diags1 = new bool[2 * n - 1]; // 记录主对角线是否有皇后
bool[] diags2 = new bool[2 * n - 1]; // 记录副对角线是否有皇后
List<List<List<string>>> res = new List<List<List<string>>>();
List<List<List<string>>> res = new();
backtrack(0, n, state, res, cols, diags1, diags2);
Backtrack(0, n, state, res, cols, diags1, diags2);
return res;
}
@@ -62,7 +62,7 @@ public class n_queens {
[Test]
public void Test() {
int n = 4;
List<List<List<string>>> res = nQueens(n);
List<List<List<string>>> res = NQueens(n);
Console.WriteLine("输入棋盘长宽为 " + n);
Console.WriteLine("皇后放置方案共有 " + res.Count + " 种");