aboutsummaryrefslogtreecommitdiffstats
path: root/leetcode/0744/main.c
diff options
context:
space:
mode:
authorverdant <im@verdant.ee>2026-06-30 12:11:38 +0800
committerverdant <im@verdant.ee>2026-06-30 12:11:38 +0800
commit455316f1396e98e46fdd43b7fad479b68da1eac0 (patch)
tree16648edf2c939005c888ae4bb246b91d5af09a7b /leetcode/0744/main.c
downloadoj-master.tar.gz
oj-master.zip
Move from GitHubHEADmaster
Diffstat (limited to 'leetcode/0744/main.c')
-rw-r--r--leetcode/0744/main.c33
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);
+}