diff options
| author | verdant <im@verdant.ee> | 2026-06-30 12:11:38 +0800 |
|---|---|---|
| committer | verdant <im@verdant.ee> | 2026-06-30 12:11:38 +0800 |
| commit | 455316f1396e98e46fdd43b7fad479b68da1eac0 (patch) | |
| tree | 16648edf2c939005c888ae4bb246b91d5af09a7b /leetcode/0744 | |
| download | oj-master.tar.gz oj-master.zip | |
Diffstat (limited to 'leetcode/0744')
| -rw-r--r-- | leetcode/0744/main.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/leetcode/0744/main.c b/leetcode/0744/main.c new file mode 100644 index 0000000..e94a22e --- /dev/null +++ b/leetcode/0744/main.c @@ -0,0 +1,33 @@ +#include <stdio.h> +#include <stdlib.h> + +// 群友:你赢了,你的码风小众又变态 +int cmp(const void *a,const void *b){return *(char*)a-*(char*)b;} +char _nextGreatestLetter(char *letters, int lettersSize, char target) { + int j=0; + for (int i=0; i<lettersSize;i++){if(letters[i]>target){j++;}} + if(j==0) return letters[0]; + char*k=malloc(sizeof(char)*j); + int q=0; + for (int i=0;i<lettersSize;i++){if(letters[i]>target){k[q] = letters[i];q++;}} + qsort(k,j,sizeof(char),cmp); + return k[0]; +} + +// 正常人写法: +char nextGreatestLetter(char* letters, int lettersSize, char target) { + for(int i = 0; i < lettersSize; i++) { + if(letters[i] > target) { + return letters[i]; + } + } + + return letters[0]; +} + +int main() { + char letters[] = {'c', 'f', 'j'}; + int sz = sizeof(letters) / sizeof(letters[0]); + char target = 'c'; + char rtn = nextGreatestLetter(letters, sz, target); +} |
