summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--c/0026/main.c27
2 files changed, 29 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 074676b..d391bce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
rust/target
-rust/.idea \ No newline at end of file
+rust/.idea
+a.out \ No newline at end of file
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