summaryrefslogtreecommitdiff
path: root/c/0026
diff options
context:
space:
mode:
Diffstat (limited to 'c/0026')
-rw-r--r--c/0026/main.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/c/0026/main.c b/c/0026/main.c
new file mode 100644
index 0000000..27f94e0
--- /dev/null
+++ b/c/0026/main.c
@@ -0,0 +1,27 @@
+#include <stdio.h>
+
+// begin
+
+int removeDuplicates(int* nums, int numsSize) {
+ int *p1, p2;
+ if (numsSize == 0) return 0;
+
+ int p = 0;
+ int cur = nums[0];
+ for (int i = 1; i < numsSize; i++) {
+ if (nums[i] != cur) {
+ p++;
+ cur = nums[i];
+ nums[p] = nums[i];
+ }
+ }
+ return p+1;
+}
+
+// end
+
+int main() {
+ int arr[] = {1,2,3,3,4,5};
+ printf("%d\n", removeDuplicates(arr, sizeof(arr) / sizeof(int)));
+ return 0;
+} \ No newline at end of file