Skip to content

Commit 10faba1

Browse files
committed
Added move zeros test
1 parent 502d17c commit 10faba1

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

CodingInterview/CodingInterview/Tests.cs

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,33 @@ int[] LeaveTwoDuplicates(int[] arrayOfNumbers)
3939

4040
int[] RemoveElement(int[] arrayOfNumbers, int elementToRemove)
4141
{
42-
return arrayOfNumbers.Where(element => element != elementToRemove)
42+
return arrayOfNumbers
43+
.Where(element => element != elementToRemove)
4344
.ToArray();
4445
}
4546

47+
int[] MoveZeros(int[] arrayOfNumbers)
48+
{
49+
var zeroCount = 0;
50+
var listOfElements = new List<int>();
51+
for(int index = 0; index < arrayOfNumbers.Length; index++)
52+
{
53+
var actualElement = arrayOfNumbers[index];
54+
if (actualElement == 0)
55+
{
56+
zeroCount++;
57+
}
58+
else
59+
{
60+
listOfElements.Add(actualElement);
61+
}
62+
}
63+
listOfElements
64+
.AddRange(Enumerable.Range(1, zeroCount)
65+
.Select(x => 0));
66+
return listOfElements.ToArray();
67+
}
68+
4669
[Test]
4770
public void RemoveDuplicatesFromSortedArray_1()
4871
{
@@ -76,5 +99,16 @@ public void RemoveElement_3()
7699

77100
Assert.AreEqual(expectedArrayWithElements, arrayWithRemoveElement);
78101
}
102+
103+
[Test]
104+
public void MoveZeros_4()
105+
{
106+
var arrayWithZeros = new int[] { 1, 0, 5, 0, 0, 3};
107+
var expectedArrayWithZerosInTheEnd = new int[] { 1, 5, 3, 0, 0, 0 };
108+
109+
var arrayWithRemoveElement = MoveZeros(arrayWithZeros);
110+
111+
Assert.AreEqual(expectedArrayWithZerosInTheEnd, arrayWithRemoveElement);
112+
}
79113
}
80114
}

0 commit comments

Comments
 (0)