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

Commita2a7b7e

Browse files
authored
Improved tasks 48-55
1 parent21ed6f4 commita2a7b7e

File tree

10 files changed

+168
-228
lines changed

10 files changed

+168
-228
lines changed
Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
1-
namespaceLeetCodeNet.G0001_0100.S0048_rotate_image
2-
{
1+
namespaceLeetCodeNet.G0001_0100.S0048_rotate_image{
32

4-
usingSystem;
5-
usingXunit;
3+
usingSystem;
4+
usingXunit;
65

7-
publicclassSolutionTest
8-
{
9-
[Fact]
10-
publicvoidRotate()
11-
{
12-
varinput=newint[][]{newint[]{1,2,3},newint[]{4,5,6},newint[]{7,8,9}};
13-
varexected=newint[][]{newint[]{7,4,1},newint[]{8,5,2},newint[]{9,6,3}};
14-
newSolution().Rotate(input);
15-
Assert.Equal(exected,input);
16-
}
6+
publicclassSolutionTest{
7+
[Fact]
8+
publicvoidRotate(){
9+
varinput=newint[][]{newint[]{1,2,3},newint[]{4,5,6},newint[]{7,8,9}};
10+
varexected=newint[][]{newint[]{7,4,1},newint[]{8,5,2},newint[]{9,6,3}};
11+
newSolution().Rotate(input);
12+
Assert.Equal(exected,input);
1713
}
1814
}
15+
}
Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,26 @@
1-
namespaceLeetCodeNet.G0001_0100.S0049_group_anagrams
2-
{
1+
namespaceLeetCodeNet.G0001_0100.S0049_group_anagrams{
32

4-
usingSystem;
5-
usingXunit;
3+
usingSystem;
4+
usingXunit;
65

7-
publicclassSolutionTest
8-
{
9-
[Fact]
10-
publicvoidGroupAnagrams()
11-
{
12-
List<List<string>>exected=newList<List<string>>{newList<string>{"eat","tea","ate"},newList<string>{"tan","nat"},newList<string>{"bat"}};
13-
Assert.Equal(exected,newSolution().GroupAnagrams(newstring[]{"eat","tea","tan","ate","nat","bat"}));
14-
}
6+
publicclassSolutionTest{
7+
[Fact]
8+
publicvoidGroupAnagrams(){
9+
List<List<string>>exected=newList<List<string>>{newList<string>{"eat","tea","ate"},
10+
newList<string>{"tan","nat"},newList<string>{"bat"}};
11+
Assert.Equal(exected,newSolution().GroupAnagrams(newstring[]{"eat","tea","tan","ate","nat","bat"}));
12+
}
1513

16-
[Fact]
17-
publicvoidGroupAnagrams2()
18-
{
19-
List<List<string>>exected=newList<List<string>>{newList<string>{""}};
20-
Assert.Equal(exected,newSolution().GroupAnagrams(newstring[]{""}));
21-
}
14+
[Fact]
15+
publicvoidGroupAnagrams2(){
16+
List<List<string>>exected=newList<List<string>>{newList<string>{""}};
17+
Assert.Equal(exected,newSolution().GroupAnagrams(newstring[]{""}));
18+
}
2219

23-
[Fact]
24-
publicvoidGroupAnagrams3()
25-
{
26-
List<List<string>>exected=newList<List<string>>{newList<string>{"a"}};
27-
Assert.Equal(exected,newSolution().GroupAnagrams(newstring[]{"a"}));
28-
}
20+
[Fact]
21+
publicvoidGroupAnagrams3(){
22+
List<List<string>>exected=newList<List<string>>{newList<string>{"a"}};
23+
Assert.Equal(exected,newSolution().GroupAnagrams(newstring[]{"a"}));
2924
}
3025
}
26+
}
Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
1-
namespaceLeetCodeNet.G0001_0100.S0051_n_queens
2-
{
1+
namespaceLeetCodeNet.G0001_0100.S0051_n_queens{
32

4-
usingSystem;
5-
usingXunit;
3+
usingSystem;
4+
usingXunit;
65

7-
publicclassSolutionTest
8-
{
9-
[Fact]
10-
publicvoidSolveNQueens()
11-
{
12-
varexected=newList<List<string>>{newList<string>{"..Q.","Q...","...Q",".Q.."},newList<string>{".Q..","...Q","Q...","..Q."}};
13-
Assert.Equal(exected,newSolution().SolveNQueens(4));
14-
}
6+
publicclassSolutionTest{
7+
[Fact]
8+
publicvoidSolveNQueens(){
9+
varexected=newList<List<string>>{newList<string>{"..Q.","Q...","...Q",".Q.."},
10+
newList<string>{".Q..","...Q","Q...","..Q."}};
11+
Assert.Equal(exected,newSolution().SolveNQueens(4));
12+
}
1513

16-
[Fact]
17-
publicvoidSolveNQueens2()
18-
{
19-
varexected=newList<List<string>>{newList<string>{"Q"}};
20-
Assert.Equal(exected,newSolution().SolveNQueens(1));
21-
}
14+
[Fact]
15+
publicvoidSolveNQueens2(){
16+
varexected=newList<List<string>>{newList<string>{"Q"}};
17+
Assert.Equal(exected,newSolution().SolveNQueens(1));
2218
}
2319
}
20+
}
Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,22 @@
1-
namespaceLeetCodeNet.G0001_0100.S0053_maximum_subarray
2-
{
1+
namespaceLeetCodeNet.G0001_0100.S0053_maximum_subarray{
32

4-
usingSystem;
5-
usingXunit;
3+
usingSystem;
4+
usingXunit;
65

7-
publicclassSolutionTest
8-
{
9-
[Fact]
10-
publicvoidMaxSubArray()
11-
{
12-
Assert.Equal(6,newSolution().MaxSubArray(newint[]{-2,1,-3,4,-1,2,1,-5,4}));
13-
}
6+
publicclassSolutionTest{
7+
[Fact]
8+
publicvoidMaxSubArray(){
9+
Assert.Equal(6,newSolution().MaxSubArray(newint[]{-2,1,-3,4,-1,2,1,-5,4}));
10+
}
1411

15-
[Fact]
16-
publicvoidMaxSubArray2()
17-
{
18-
Assert.Equal(1,newSolution().MaxSubArray(newint[]{1}));
19-
}
12+
[Fact]
13+
publicvoidMaxSubArray2(){
14+
Assert.Equal(1,newSolution().MaxSubArray(newint[]{1}));
15+
}
2016

21-
[Fact]
22-
publicvoidMaxSubArray3()
23-
{
24-
Assert.Equal(23,newSolution().MaxSubArray(newint[]{5,4,-1,7,8}));
25-
}
17+
[Fact]
18+
publicvoidMaxSubArray3(){
19+
Assert.Equal(23,newSolution().MaxSubArray(newint[]{5,4,-1,7,8}));
2620
}
2721
}
22+
}
Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
1-
namespaceLeetCodeNet.G0001_0100.S0055_jump_game
2-
{
1+
namespaceLeetCodeNet.G0001_0100.S0055_jump_game{
32

4-
usingSystem;
5-
usingXunit;
3+
usingSystem;
4+
usingXunit;
65

7-
publicclassSolutionTest
8-
{
9-
[Fact]
10-
publicvoidCanJump()
11-
{
12-
Assert.True(newSolution().CanJump(newint[]{2,3,1,1,4}));
13-
}
6+
publicclassSolutionTest{
7+
[Fact]
8+
publicvoidCanJump(){
9+
Assert.True(newSolution().CanJump(newint[]{2,3,1,1,4}));
10+
}
1411

15-
[Fact]
16-
publicvoidCanJump2()
17-
{
18-
Assert.False(newSolution().CanJump(newint[]{3,2,1,0,4}));
19-
}
12+
[Fact]
13+
publicvoidCanJump2(){
14+
Assert.False(newSolution().CanJump(newint[]{3,2,1,0,4}));
2015
}
2116
}
17+
}
Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,23 @@
1-
namespaceLeetCodeNet.G0001_0100.S0048_rotate_image
2-
{
1+
namespaceLeetCodeNet.G0001_0100.S0048_rotate_image{
32

4-
// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Math #Matrix
5-
// #Data_Structure_II_Day_3_Array #Programming_Skills_II_Day_7 #Udemy_2D_Arrays/Matrix
6-
// #Big_O_Time_O(n^2)_Space_O(1) #2024_01_04_Time_92_ms_(97.78%)_Space_45.7_MB_(9.23%)
3+
// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #Math #Matrix
4+
// #Data_Structure_II_Day_3_Array #Programming_Skills_II_Day_7 #Udemy_2D_Arrays/Matrix
5+
// #Big_O_Time_O(n^2)_Space_O(1) #2024_01_04_Time_92_ms_(97.78%)_Space_45.7_MB_(9.23%)
76

8-
publicclassSolution
9-
{
10-
publicvoidRotate(int[][]matrix)
11-
{
12-
(intheight,intwidth)=(matrix.Length,matrix[0].Length);
13-
for(introw=0;row<height-1;row++)
14-
{
15-
for(intcol=row+1;col<width;col++)
16-
{
17-
(matrix[col][row],matrix[row][col])=(matrix[row][col],matrix[col][row]);
18-
}
7+
publicclassSolution{
8+
publicvoidRotate(int[][]matrix){
9+
(intheight,intwidth)=(matrix.Length,matrix[0].Length);
10+
for(introw=0;row<height-1;row++){
11+
for(intcol=row+1;col<width;col++){
12+
(matrix[col][row],matrix[row][col])=(matrix[row][col],matrix[col][row]);
1913
}
20-
21-
for(intcol=0;col<width/2;col++)
22-
{
23-
intoppositeCol=width-1-col;
24-
25-
for(introw=0;row<height;row++)
26-
{
27-
(matrix[row][col],matrix[row][oppositeCol])=(matrix[row][oppositeCol],matrix[row][col]);
28-
}
14+
}
15+
for(intcol=0;col<width/2;col++){
16+
intoppositeCol=width-1-col;
17+
for(introw=0;row<height;row++){
18+
(matrix[row][col],matrix[row][oppositeCol])=(matrix[row][oppositeCol],matrix[row][col]);
2919
}
3020
}
3121
}
3222
}
23+
}
Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,25 @@
1-
namespaceLeetCodeNet.G0001_0100.S0049_group_anagrams
2-
{
1+
namespaceLeetCodeNet.G0001_0100.S0049_group_anagrams{
32

4-
// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #String #Hash_Table #Sorting
5-
// #Data_Structure_II_Day_8_String #Programming_Skills_II_Day_11 #Udemy_Strings
6-
// #Big_O_Time_O(n*k_log_k)_Space_O(n)
3+
// #Medium #Top_100_Liked_Questions #Top_Interview_Questions #Array #String #Hash_Table #Sorting
4+
// #Data_Structure_II_Day_8_String #Programming_Skills_II_Day_11 #Udemy_Strings
5+
// #Big_O_Time_O(n*k_log_k)_Space_O(n)
76

8-
publicclassSolution
9-
{
10-
publicIList<IList<string>>GroupAnagrams(string[]strs)
11-
{
12-
varmap=newDictionary<string,IList<string>>();
13-
14-
// allocate memory only once and reuse it to sort the chars of each s in strs.
15-
varbuffer=newchar[10000];
16-
varbufferSpan=newSpan<char>(buffer);
17-
18-
foreach(varsinstrs)
19-
{
20-
s.CopyTo(bufferSpan);
21-
Array.Sort(buffer,0,s.Length);
22-
varkey=newstring(buffer,0,s.Length);
23-
if(!map.TryGetValue(key,outvarvalue))
24-
{
25-
map[key]=value=newList<string>();
26-
}
27-
28-
value.Add(s);
7+
publicclassSolution{
8+
publicIList<IList<string>>GroupAnagrams(string[]strs){
9+
varmap=newDictionary<string,IList<string>>();
10+
// allocate memory only once and reuse it to sort the chars of each s in strs.
11+
varbuffer=newchar[10000];
12+
varbufferSpan=newSpan<char>(buffer);
13+
foreach(varsinstrs){
14+
s.CopyTo(bufferSpan);
15+
Array.Sort(buffer,0,s.Length);
16+
varkey=newstring(buffer,0,s.Length);
17+
if(!map.TryGetValue(key,outvarvalue)){
18+
map[key]=value=newList<string>();
2919
}
30-
31-
returnmap.Values.Cast<IList<string>>().ToList();
20+
value.Add(s);
3221
}
22+
returnmap.Values.Cast<IList<string>>().ToList();
3323
}
3424
}
25+
}
Lines changed: 27 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,34 @@
1-
namespaceLeetCodeNet.G0001_0100.S0051_n_queens
2-
{
1+
namespaceLeetCodeNet.G0001_0100.S0051_n_queens{
32

4-
// #Hard #Top_100_Liked_Questions #Array #Backtracking #Big_O_Time_O(N!)_Space_O(N)
5-
// #2024_01_04_Time_106_ms_(96.34%)_Space_54.6_MB_(5.79%)
3+
// #Hard #Top_100_Liked_Questions #Array #Backtracking #Big_O_Time_O(N!)_Space_O(N)
4+
// #2024_01_04_Time_106_ms_(96.34%)_Space_54.6_MB_(5.79%)
65

7-
publicclassSolution
8-
{
9-
publicIList<IList<string>>SolveNQueens(intn)
10-
{
11-
returnthis.Backtrack(n,0,(x,y)=>false).ToList();
12-
}
13-
14-
privateIEnumerable<IList<string>>Backtrack(intboardSize,inty,Func<int,int,bool>check)
15-
{
16-
for(intx=0;x<boardSize;x++)
17-
{
18-
if(check(x,y))
19-
{
20-
continue;
21-
}
22-
23-
stringcurrentLine=$"{newstring('.',x)}Q{newstring('.',boardSize-x-1)}";
24-
25-
if(y==boardSize-1)
26-
{
27-
yieldreturnnewList<string>{currentLine};
28-
continue;
29-
}
30-
31-
varresults=this.Backtrack(boardSize,y+1,(xx,yy)=>
32-
check(xx,yy)||
33-
(xx==x)||
34-
(yy==(y-x)+xx)||
35-
(yy==(x+y)-xx)
36-
);
6+
publicclassSolution{
7+
publicIList<IList<string>>SolveNQueens(intn){
8+
returnthis.Backtrack(n,0,(x,y)=>false).ToList();
9+
}
3710

38-
foreach(varresultinresults)
39-
{
40-
result.Add(currentLine);
41-
yieldreturnresult;
42-
}
11+
privateIEnumerable<IList<string>>Backtrack(intboardSize,inty,Func<int,int,bool>check){
12+
for(intx=0;x<boardSize;x++){
13+
if(check(x,y)){
14+
continue;
15+
}
16+
stringcurrentLine=$"{newstring('.',x)}Q{newstring('.',boardSize-x-1)}";
17+
if(y==boardSize-1){
18+
yieldreturnnewList<string>{currentLine};
19+
continue;
20+
}
21+
varresults=this.Backtrack(boardSize,y+1,(xx,yy)=>
22+
check(xx,yy)||
23+
(xx==x)||
24+
(yy==(y-x)+xx)||
25+
(yy==(x+y)-xx)
26+
);
27+
foreach(varresultinresults){
28+
result.Add(currentLine);
29+
yieldreturnresult;
4330
}
4431
}
4532
}
4633
}
34+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp