cs: add “283. Move Zeroes”

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2024-01-06 22:28:10 +01:00
parent 0178e14f48
commit 64008089ff
Signed by: mfocko
GPG key ID: 7C47D46246790496

31
cs/move-zeroes.cs Normal file
View file

@ -0,0 +1,31 @@
public class Solution {
public void MoveZeroes(int[] nums) {
var i = 0;
// find first zero
while (i < nums.Length && nums[i] != 0) {
++i;
}
for (var j = i + 1; j < nums.Length; ++j) {
// we do nothing for zeroes
if (nums[j] == 0) {
continue;
}
// find first zero
while (i < nums.Length && nums[i] != 0) {
++i;
}
// no zero has been found
if (i >= nums.Length) {
break;
}
// swap them while maintaining the order
nums[i] = nums[j];
nums[j] = 0;
++i;
}
}
}