Skip to content

Commit 42f305e

Browse files
committed
Add the C# solutions
1 parent 35c08ee commit 42f305e

File tree

1,633 files changed

+71758
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,633 files changed

+71758
-0
lines changed
+113
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
3+
namespace LeetCode.Test
4+
{
5+
[TestClass]
6+
public class _001_TwoSum_Test
7+
{
8+
private int[] largeArray;
9+
10+
public _001_TwoSum_Test()
11+
{
12+
largeArray = new int[20000];
13+
for (int i = 0; i < 20000; i++)
14+
{
15+
largeArray[i] = i * 2;
16+
}
17+
}
18+
19+
[TestMethod]
20+
public void TwoSumTest_Ordered()
21+
{
22+
var nums = new int[] { 2, 7, 11, 15 };
23+
var target = 9;
24+
25+
var solution = new _001_TwoSum();
26+
var result = solution.TwoSum(nums, target);
27+
28+
Assert.AreEqual(2, result.Length);
29+
Assert.AreEqual(0, result[0]);
30+
Assert.AreEqual(1, result[1]);
31+
}
32+
33+
[TestMethod]
34+
public void TwoSumTest_Unordered()
35+
{
36+
var nums = new int[] { 5, 75, 25 };
37+
var target = 100;
38+
39+
var solution = new _001_TwoSum();
40+
var result = solution.TwoSum(nums, target);
41+
42+
Assert.AreEqual(2, result.Length);
43+
Assert.AreEqual(1, result[0]);
44+
Assert.AreEqual(2, result[1]);
45+
}
46+
47+
[TestMethod]
48+
public void TwoSumTest_Duplicate()
49+
{
50+
var nums = new int[] { 5, 5, 15, 30 };
51+
var target = 20;
52+
53+
var solution = new _001_TwoSum();
54+
var result = solution.TwoSum(nums, target);
55+
56+
Assert.AreEqual(2, result.Length);
57+
Assert.AreEqual(1, result[0]);
58+
Assert.AreEqual(2, result[1]);
59+
}
60+
61+
[TestMethod]
62+
public void TwoSumTest_AllSame()
63+
{
64+
var nums = new int[] { 5, 5, 5, 5, 5 };
65+
var target = 10;
66+
67+
var solution = new _001_TwoSum();
68+
var result = solution.TwoSum(nums, target);
69+
70+
Assert.AreEqual(2, result.Length);
71+
Assert.AreEqual(0, result[0]);
72+
Assert.AreEqual(1, result[1]);
73+
}
74+
75+
[TestMethod]
76+
public void TwoSumTest_NoTarget()
77+
{
78+
var nums = new int[] { 2, 7, 11, 15 };
79+
var target = 5;
80+
81+
var solution = new _001_TwoSum();
82+
var result = solution.TwoSum(nums, target);
83+
84+
Assert.AreEqual(0, result.Length);
85+
}
86+
87+
[TestMethod]
88+
[Timeout(50)]
89+
public void TwoSumTest_LargeArray()
90+
{
91+
var target = 19082;
92+
93+
var solution = new _001_TwoSum();
94+
var result = solution.TwoSum(largeArray, target);
95+
96+
Assert.AreEqual(2, result.Length);
97+
Assert.AreEqual(4770, result[0]);
98+
Assert.AreEqual(4771, result[1]);
99+
}
100+
101+
[TestMethod]
102+
[Timeout(50)]
103+
public void TwoSumTest_LargeArray_NoTarget()
104+
{
105+
var target = 19081;
106+
107+
var solution = new _001_TwoSum();
108+
var result = solution.TwoSum(largeArray, target);
109+
110+
Assert.AreEqual(0, result.Length);
111+
}
112+
}
113+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
3+
namespace LeetCode.Test
4+
{
5+
[TestClass]
6+
public class _002_AddTwoNumbers_Test
7+
{
8+
[TestMethod]
9+
public void AddTwoNumbersTest_General()
10+
{
11+
var link = TestHelper.GenerateList(new int[] { 2, 4, 3 });
12+
13+
var solution = new _002_AddTwoNumbers();
14+
var result = solution.AddTwoNumbers(link, link);
15+
16+
AssertHelper.AssertLinkList(new int[] { 4, 8, 6 }, result);
17+
}
18+
19+
[TestMethod]
20+
public void AddTwoNumbersTest_General_2()
21+
{
22+
var link = TestHelper.GenerateList(new int[] { 0 });
23+
24+
var solution = new _002_AddTwoNumbers();
25+
var result = solution.AddTwoNumbers(link, link);
26+
27+
AssertHelper.AssertLinkList(new int[] { 0 }, result);
28+
}
29+
30+
[TestMethod]
31+
public void AddTwoNumbersTest_HasCarry()
32+
{
33+
var link1 = TestHelper.GenerateList(new int[] { 2, 4, 3 });
34+
var link2 = TestHelper.GenerateList(new int[] { 5, 6, 4 });
35+
36+
var solution = new _002_AddTwoNumbers();
37+
var result = solution.AddTwoNumbers(link1, link2);
38+
39+
AssertHelper.AssertLinkList(new int[] { 7, 0, 8 }, result);
40+
}
41+
42+
[TestMethod]
43+
public void AddTwoNumbersTest_HasMultipleCarry()
44+
{
45+
var link1 = TestHelper.GenerateList(new int[] { 1 });
46+
var link2 = TestHelper.GenerateList(new int[] { 9, 9 });
47+
48+
var solution = new _002_AddTwoNumbers();
49+
var result = solution.AddTwoNumbers(link1, link2);
50+
51+
AssertHelper.AssertLinkList(new int[] { 0, 0, 1 }, result);
52+
}
53+
54+
[TestMethod]
55+
public void AddTwoNumbersTest_FirstNumCarry()
56+
{
57+
var link1 = TestHelper.GenerateList(new int[] { 3, 4, 4 });
58+
var link2 = TestHelper.GenerateList(new int[] { 3, 4, 6 });
59+
60+
var solution = new _002_AddTwoNumbers();
61+
var result = solution.AddTwoNumbers(link1, link2);
62+
63+
AssertHelper.AssertLinkList(new int[] { 6, 8, 0, 1 }, result);
64+
}
65+
66+
[TestMethod]
67+
public void AddTwoNumbersTest_L1Longer()
68+
{
69+
var link1 = TestHelper.GenerateList(new int[] { 2, 4, 3, 1 });
70+
var link2 = TestHelper.GenerateList(new int[] { 5, 6, 4 });
71+
72+
var solution = new _002_AddTwoNumbers();
73+
var result = solution.AddTwoNumbers(link1, link2);
74+
75+
AssertHelper.AssertLinkList(new int[] { 7, 0, 8, 1 }, result);
76+
}
77+
78+
[TestMethod]
79+
public void AddTwoNumbersTest_L1Longer_2()
80+
{
81+
var link1 = TestHelper.GenerateList(new int[] { 1, 8 });
82+
var link2 = TestHelper.GenerateList(new int[] { 0 });
83+
84+
var solution = new _002_AddTwoNumbers();
85+
var result = solution.AddTwoNumbers(link1, link2);
86+
87+
AssertHelper.AssertLinkList(new int[] { 1, 8 }, result);
88+
}
89+
90+
[TestMethod]
91+
public void AddTwoNumbersTest_L1Empty()
92+
{
93+
var link1 = TestHelper.GenerateList(null);
94+
var link2 = TestHelper.GenerateList(new int[] { 1, 8 });
95+
96+
var solution = new _002_AddTwoNumbers();
97+
var result = solution.AddTwoNumbers(link1, link2);
98+
99+
AssertHelper.AssertLinkList(new int[] { 1, 8 }, result);
100+
}
101+
102+
[TestMethod]
103+
public void AddTwoNumbersTest_L2Longer()
104+
{
105+
var link1 = TestHelper.GenerateList(new int[] { 2, 4, 3 });
106+
var link2 = TestHelper.GenerateList(new int[] { 5, 6, 4, 3 });
107+
108+
var solution = new _002_AddTwoNumbers();
109+
var result = solution.AddTwoNumbers(link1, link2);
110+
111+
AssertHelper.AssertLinkList(new int[] { 7, 0, 8, 3 }, result);
112+
}
113+
114+
[TestMethod]
115+
public void AddTwoNumbersTest_L2Longer_2()
116+
{
117+
var link1 = TestHelper.GenerateList(new int[] { 0 });
118+
var link2 = TestHelper.GenerateList(new int[] { 1, 8 });
119+
120+
var solution = new _002_AddTwoNumbers();
121+
var result = solution.AddTwoNumbers(link1, link2);
122+
123+
AssertHelper.AssertLinkList(new int[] { 1, 8 }, result);
124+
}
125+
126+
[TestMethod]
127+
public void AddTwoNumbersTest_L2Empty()
128+
{
129+
var link1 = TestHelper.GenerateList(new int[] { 1, 8 });
130+
var link2 = TestHelper.GenerateList(null);
131+
132+
var solution = new _002_AddTwoNumbers();
133+
var result = solution.AddTwoNumbers(link1, link2);
134+
135+
AssertHelper.AssertLinkList(new int[] { 1, 8 }, result);
136+
}
137+
}
138+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
3+
namespace LeetCode.Test
4+
{
5+
[TestClass]
6+
public class _003_LongestSubstringWithoutRepeatingCharacters_Test
7+
{
8+
[TestMethod]
9+
public void LengthOfLongestSubstringTest()
10+
{
11+
var input = "abcabcbb";
12+
13+
var solution = new _003_LongestSubstringWithoutRepeatingCharacters();
14+
var result = solution.LengthOfLongestSubstring(input);
15+
16+
Assert.AreEqual(3, result);
17+
}
18+
19+
[TestMethod]
20+
public void LengthOfLongestSubstringTest_RepeatChars()
21+
{
22+
var input = "bbbbb";
23+
24+
var solution = new _003_LongestSubstringWithoutRepeatingCharacters();
25+
var result = solution.LengthOfLongestSubstring(input);
26+
27+
Assert.AreEqual(1, result);
28+
}
29+
30+
[TestMethod]
31+
public void LengthOfLongestSubstringTest_EmptyInput()
32+
{
33+
var solution = new _003_LongestSubstringWithoutRepeatingCharacters();
34+
var result = solution.LengthOfLongestSubstring("");
35+
36+
Assert.AreEqual(0, result);
37+
}
38+
39+
[TestMethod]
40+
public void LengthOfLongestSubstringTest_LongString()
41+
{
42+
var input = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
43+
44+
var solution = new _003_LongestSubstringWithoutRepeatingCharacters();
45+
var result = solution.LengthOfLongestSubstring(input);
46+
47+
Assert.AreEqual(26, result);
48+
}
49+
50+
[TestMethod]
51+
public void LengthOfLongestSubstringTest_LongString_HaveShortRepeat()
52+
{
53+
var input = "abcdefghijklmnopqrstuvwxyzabcdefghijk lmnopqrstuvwxyz";
54+
55+
var solution = new _003_LongestSubstringWithoutRepeatingCharacters();
56+
var result = solution.LengthOfLongestSubstring(input);
57+
58+
Assert.AreEqual(27, result);
59+
}
60+
}
61+
}

0 commit comments

Comments
 (0)