diff options
| author | Mistivia <i@mistivia.com> | 2025-09-06 23:17:22 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-09-06 23:17:41 +0800 |
| commit | ad95cba8220e2a7c86362caeb76e1a4333e9c2b8 (patch) | |
| tree | 30b31d94e2ceb46d4e946bfa1eb88b956508f760 /c | |
| parent | 5dd8dcdc2ccfa89d25a3cb342a2f89c644236971 (diff) | |
refactor
Diffstat (limited to 'c')
| -rw-r--r-- | c/0026/main.c | 27 | ||||
| -rw-r--r-- | c/0027/main.c | 11 | ||||
| -rw-r--r-- | c/0035/main.c | 27 | ||||
| -rw-r--r-- | c/0058/main.c | 21 | ||||
| -rw-r--r-- | c/0066/main.c | 38 | ||||
| -rw-r--r-- | c/0067/main.c | 73 | ||||
| -rw-r--r-- | c/0069/main.c | 26 | ||||
| -rw-r--r-- | c/0070/main.c | 15 |
8 files changed, 0 insertions, 238 deletions
diff --git a/c/0026/main.c b/c/0026/main.c deleted file mode 100644 index 27f94e0..0000000 --- a/c/0026/main.c +++ /dev/null @@ -1,27 +0,0 @@ -#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 diff --git a/c/0027/main.c b/c/0027/main.c deleted file mode 100644 index dd5ab1b..0000000 --- a/c/0027/main.c +++ /dev/null @@ -1,11 +0,0 @@ -int removeElement(int* nums, int numsSize, int val) { - int p = 0; - for (int i = 0; i < numsSize; i++) { - if (nums[i] == val) { - continue; - } - nums[p] = nums[i]; - p++; - } - return p; -} diff --git a/c/0035/main.c b/c/0035/main.c deleted file mode 100644 index 287885a..0000000 --- a/c/0035/main.c +++ /dev/null @@ -1,27 +0,0 @@ -#include <stdio.h> - -// begin - -int searchInsert(int* nums, int numsSize, int target) { - int lp = 0, rp = numsSize - 1; - int mid = -1; - while (lp <= rp) { - mid = lp + (rp - lp) / 2; - if (target > nums[mid]) { - lp = mid + 1; - } else if (target < nums[mid]) { - rp = mid - 1; - } else { - return mid; - } - } - if (target > nums[mid]) mid++; - return mid; -} - -// end - -int main() { - int arr[] = {1,2,4,5,6}; - printf("%d\n", searchInsert(arr, 5, 3)); -}
\ No newline at end of file diff --git a/c/0058/main.c b/c/0058/main.c deleted file mode 100644 index 6aff206..0000000 --- a/c/0058/main.c +++ /dev/null @@ -1,21 +0,0 @@ -int lengthOfLastWord(char* s) { - int i = 0; - int cur = 0; - int last = 0; - while (s[i] != '\0') { - if (s[i] == ' ') { - if (cur > 0) { - last = cur; - } - cur = 0; - } else { - cur++; - } - i++; - } - if (cur > 0) { - return cur; - } else { - return last; - } -}
\ No newline at end of file diff --git a/c/0066/main.c b/c/0066/main.c deleted file mode 100644 index b01eb8b..0000000 --- a/c/0066/main.c +++ /dev/null @@ -1,38 +0,0 @@ -#include <stdlib.h> - -// begin - -/** - * Note: The returned array must be malloced, assume caller calls free(). - */ -int* plusOne(int* digits, int digitsSize, int* returnSize) { - int *buffer = malloc((digitsSize + 1) * sizeof(int)); - for (int i = 0; i < digitsSize; i++) { - buffer[i] = digits[digitsSize - 1 - i]; - } - buffer[0]++; - int carry = 0; - for (int i = 0; i < digitsSize; i++) { - int val = buffer[i] + carry; - carry = val / 10; - buffer[i] = val % 10; - } - int len = digitsSize; - if (carry) { - len++; - buffer[digitsSize] = 1; - } - int lp = 0, rp = len - 1; - while (lp <= rp) { - int t = buffer[lp]; - buffer[lp] = buffer[rp]; - buffer[rp] = t; - lp++; - rp--; - } - *returnSize = len; - return buffer; -} - -// end - diff --git a/c/0067/main.c b/c/0067/main.c deleted file mode 100644 index 900c685..0000000 --- a/c/0067/main.c +++ /dev/null @@ -1,73 +0,0 @@ -#include <stdlib.h> -#include <string.h> - -typedef struct { - int len; - char *buf; - int capacity; -} String; - -void String_push(String *self, char c) { - if (self->len + 2 >= self->capacity) { - int new_capacity = self->capacity * 2; - self->buf = realloc(self->buf, new_capacity); - self->capacity = new_capacity; - } - self->buf[self->len] = c; - self->buf[self->len + 1] = '\0'; - self->len++; -} - -void String_init(String *self) { - self->capacity = 16; - self->buf = malloc(16); - self->len = 0; - self->buf[0] = '\0'; -} - -char* str_reverse(char *s) { - int lp = 0, rp = strlen(s) - 1; - s = strdup(s); - while (lp <= rp) { - char tmp = s[lp]; - s[lp] = s[rp]; - s[rp] = tmp; - rp--; - lp++; - } - return s; -} - -char* addBinary(char* a, char* b) { - a = str_reverse(a); - b = str_reverse(b); - String ret; - String_init(&ret); - int len_a = strlen(a); - int len_b = strlen(b); - int len = len_a > len_b ? len_a : len_b; - int carry = 0; - for (int i = 0; i < len; i++) { - char ca, cb; - if (i >= len_a) { - ca = 0; - } else { - ca = a[i] - '0'; - } - if (i >= len_b) { - cb = 0; - } else { - cb = b[i] - '0'; - } - char val = ca + cb + carry; - String_push(&ret, val % 2 + '0'); - carry = val / 2; - } - if (carry) String_push(&ret, '1'); - free(a); - free(b); - char *oldbuf = ret.buf; - ret.buf = str_reverse(ret.buf); - free(oldbuf); - return ret.buf; -} diff --git a/c/0069/main.c b/c/0069/main.c deleted file mode 100644 index 86aab4a..0000000 --- a/c/0069/main.c +++ /dev/null @@ -1,26 +0,0 @@ -#include <stdio.h> -#include <stdint.h> - -int mySqrt(int x) { - int64_t t = x; - int64_t ln = 0, rn = x; - while (ln <= rn) { - int64_t mid = ln + (rn - ln) / 2; - if (mid * mid < x) { - if ((mid + 1) * (mid + 1) > x) { - return mid; - } - ln = mid + 1; - } else if (mid * mid > x) { - rn = mid - 1; - } else { - return mid; - } - } - return -1; -} - -int main() { - printf("%d\n", mySqrt(9)); - return 0; -} diff --git a/c/0070/main.c b/c/0070/main.c deleted file mode 100644 index 143eeb3..0000000 --- a/c/0070/main.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdlib.h> - -int climbStairsImpl(int n, int* cache) { - if (n == 0) return 1; - if (n < 0) return 0; - if (cache[n] > 0) return cache[n]; - int ret = climbStairsImpl(n-1, cache) + climbStairsImpl(n-2, cache); - cache[n] = ret; - return ret; -} - -int climbStairs(int n) { - int *cache = malloc(sizeof(int) * (n+1)); - return climbStairsImpl(n, cache); -} |
