aboutsummaryrefslogtreecommitdiffstats
path: root/leetcode/0744/main.c
blob: e94a22ea7c31da30a8542b5ba73e1e61547503ce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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);
}